MySQL - Contador descargas en PHP y MySQL desde Combo

 
Vista:

Contador descargas en PHP y MySQL desde Combo

Publicado por todopoi (2 intervenciones) el 27/10/2016 21:04:19
Hola, quería pediros ayuda porque me estoy volviendo loco con esto y no consigo sacarlo.

Tengo una pagina en PHP en la que hay un combo con varias opciones para seleccionar y que carga las diferentes opciones del combo desde una tabla en MySQL. Dependiendo de la elección, descarga un fichero.
El link de ese fichero también la lee desde una columna de la misma tabla.

El problema es que me gustaría que dependiendo de que opción elija para descargas el fichero, querría hacer un contador que me sumase las descargas por cada uno de esos ficheros independientemente para saber cuantos archivos se bajan de cada opción.

La tabla la llamo: copilot

las columnas que forman la tabla son:

- id (empieza en 0 cuyo valor es"selecciona una opción" y en donde no se descarga nada, y a partir de 1, 2, 3, etc pertenecería a cada una de las opciones del combo a descargar)

- opcion (aquí indico el nombre del fichero a descargar)

- enlace (aquí esta el link al fichero del estilo: ../prueba/mifichero.zip

- descripcion (incluye apuntes míos internos)

- descargas (su valor inicial es 0. Aquí es donde quiero que se vayan sumando +1, pero en la fila de la opción que se descargue)

Digamos que hay 3 opciones a descargar incluidas en 4 filas:
-opcion 1
-opcion 2
-opcion 3
Bien si selecciono en el combo la opción 3 y abre el link a dicha opción, mi objetivo es que sume +1 en la columna "descargas" de la opción 3.

Actualmente conseguí que me sume 1 pero lo hace nada mas entrar a la pagina .php, y lo suma en la columna "descargas" del id 0. Lo suma antes de seleccionar nada solo entrando en la pagina y aunque se elija alguna opción no suma nada tampoco.

Pongo el código que uso en la pagina PHP para llamar al combo y como lo tengo ahora sumando mal:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
function generaopciones()
{
	include 'datosconexion.php';
	conectar();
	mysql_set_charset('utf8');
	$consulta=mysql_query("SELECT enlace, opcion FROM copilot ORDER BY id");
	while ($row = mysql_fetch_array($sql)) {
	$id = "$row[id]";
	$opcion = "$opcion[opcion]";
	$enlace = "$row[enlace]";
    $descargas = "$row[descargas]";
    }
	// Voy imprimiendo opciones a elegir de copilot
	echo "<select name='.$selectDestino.' id='.$selectDestino.' onchange='if (this.value) window.location.href=(this.value)'>";
	while($registro=mysql_fetch_row($consulta))
	{
		echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
	}
	echo "</select>";
	$sql = mysql_query("update copilot set descargas=descargas+1 where id='.$selectDestino.'");
	desconectar();
}
?>


Os agradecería muchísimo que me indicaseis lo que tengo que cambiar porque no doy con ello y no tengo muchos conocimientos de MySQL y PHP.

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Contador descargas en PHP y MySQL desde Combo

Publicado por xve (1151 intervenciones) el 28/10/2016 08:42:54
Hola,creo que esta bien tu SQL... lo único que los id's entiendo que son numericos, por lo que no es necesario utilizar las comillas simples, y para poner los puntos de concatenación, no pueden estar dentro de la cadena de texto... prueba así:

1
$sql = mysql_query("update copilot set descargas=descargas+1 where id=".$selectDestino);

De donde viene la variable $selectDestino?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Contador descargas en PHP y MySQL desde Combo

Publicado por todopoi (2 intervenciones) el 01/11/2016 19:52:49
Perdona en tardar tanto en contestarte.

$selectDestino lo defino en el mismo .php que lo que te mande así:

$selectDestino=$_GET["select"]; $opcionSeleccionada=$_GET["opcion"];

Probé en cambiarlo también por $opcion Seleccionada pero tampoco funciona.

El problema es que no consigo que grabe la opción que selecciona el usuario en ese combo y que sume 1 a la descarga solo de esa opción...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar