Foros del Web » Programando para Internet » PHP »

Crear un contador a partir de una seleccion en combo

Estas en el tema de Crear un contador a partir de una seleccion en combo en el foro de PHP en Foros del Web. hola amigos, aki vengo nuevamente a que me hechen una mano para PHP, perdon por las "cachorradas" pero mi fuerte no es PHP. He hecho ...
  #1 (permalink)  
Antiguo 27/05/2005, 09:55
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Crear un contador a partir de una seleccion en combo

hola amigos, aki vengo nuevamente a que me hechen una mano para PHP, perdon por las "cachorradas" pero mi fuerte no es PHP.

He hecho una pagina que mezcla php y javascript en la cual por medio de php creo un listado que esta en una tabla y que al elegir uno de estos por medio de javascript le paso un valor a un campo de texto. Todo esto me funciona muy bien, pero ahora necesito qeu al elegir un elemento del listado me imprima en alguna parte de la pagina cuantos veces se ha elegido ese elemento en el dia y en total.
Ok, las sentencias sql para hacer esto no son problema, la cosa es que al ejecutar el codigo php para que calcule y le pongo imprimir, no hace nada, nose en que me estare equivocando.
Para efectos de prueba, he hecho que me saque el total de un elemento x al solo cargar la pagina.
aki les dejo el codigo:

Código PHP:
                      <?php
include("conexion2.php");
$enlace=Conectarse("algunlado","aki","alla");
$resultado=mssql_query("select * from proyectos_categorias where proyecto_id='1' ",$enlace);
echo 
"<td>&nbsp;<select name='productos' onChange='muestra()'>";
printf("<option value='%s'>&nbsp;%s&nbsp;</option>",$row[" "],$row[" "]);
while(
$row mssql_fetch_array($resultado))
{
    
printf("<option value='%s'>&nbsp;%s&nbsp;</option>",$row["categoria_keyword"],$row["categoria_nombre"]);
}
OJO EN ESTA PARTE QUE ES DONDE DEBERIA SACAR EL TOTAL Y ASIGNARLO A LA VARIABLE $RS 
$query 
"SELECT count(*) FROM incoming WHERE msgtext like 'WUHGEN'";
$rs mysql_query($query,$enlace);
print 
"Total: " +$rs;
mssql_close($enlace);

?>
por favor alguien que me heche la mano
  #2 (permalink)  
Antiguo 27/05/2005, 14:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Esto:

Código PHP:
$query "SELECT count(*) FROM incoming WHERE msgtext like 'WUHGEN'"
$rs mysql_query($query,$enlace); 
print 
"Total: " +$rs
debería ser:
Código PHP:
$query "SELECT count(*) AS totalFROM incoming WHERE msgtext = 'WUHGEN'"
$rs mysql_query($query,$enlace); 
print 
"Total: ".mysql_result($rs,0,"total"); // el alias "AS" anterior simplemente es para que veas de donde salen las cosas .. no es necesario para este caso. pero igual.. dejao así. 
En PHP no se "concatena" strings (cadenas) con + sino con el punto (.) ..
La función para obtener un valor de un resultado como es tu caso que sabes que vas a obtener un sólo registro de "resultado" .. sería: mysql_result() (www.php.net/mysql_result).
Usar "LIKE" te arriesgas a que tu resultado podría ser que tengas un "WUHGEN" y un "wuhgen" y no se distingiera .. arrojando la consulta dos resultados (registros) donde esperas -siempre- uno. Por ende .. no uses "LIKE" (aunque no uses % comodines) usa = (igual).

Ahora .. para hacer lo que pretendes .. con una sentencia SQL tipo:
Código PHP:
$sql="UPDATE tabla SET campo=campo+1";
mysql_query($sql); 
con eso sobra .. no necesitas obtener el total para incrementar (en una unidad).

Lo que no se vé es el código completo para ver donde envias el valor de ese <select> seleccionado, pero será en ese script donde tengas que ejecutar ese tipo de sentencia SQL ...

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:34.