Foros del Web » Programando para Internet » PHP »

Contador de lecturas

Estas en el tema de Contador de lecturas en el foro de PHP en Foros del Web. Estoy intentando hacer un contador de lecturas con php y mysql. No consigo que actualice sólo el registro actual. El código que utilizo es el ...
  #1 (permalink)  
Antiguo 12/05/2006, 12:30
fgb
 
Fecha de Ingreso: agosto-2004
Mensajes: 15
Antigüedad: 13 años, 4 meses
Puntos: 0
Contador de lecturas ya funciona. Aquí el código

Estoy intentando hacer un contador de lecturas con php y mysql. No consigo que actualice sólo el registro actual. El código que utilizo es el siguiente:

$actualiza_contador="UPDATE poemas SET contador_poemas_leidos=contador_poemas_leidos+1 WHERE id='$id'";
mysql_query($actualiza_contador, $poetasirc);


me pierdo en el WHERE id='$id', he probado todo y no me funciona.

Si alguien me puede ayudar se lo agradeceré.

Última edición por fgb; 17/05/2006 a las 06:23
  #2 (permalink)  
Antiguo 12/05/2006, 13:12
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 12 años, 2 meses
Puntos: 56
Si el campo id es de tipo char o varchar no deberías tener problemas pero si es numérico entonces debes suprimir los apóstrofes:
"UPDATE poemas SET contador_poemas_leidos=contador_poemas_leidos+1 WHERE id=$id";

__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 12/05/2006, 13:44
fgb
 
Fecha de Ingreso: agosto-2004
Mensajes: 15
Antigüedad: 13 años, 4 meses
Puntos: 0
Gracias jcxnet.

Efectivamente los campos son numéricos, pero he quitado los apóstrofes y sigo igual, no me suma nada y si le quito el Where me suma todos los registros.

Ahora lo tengo así:

$actualiza_contador="UPDATE poemas SET contador_poemas_leidos=contador_poemas_leidos+1 WHERE id=$id";
;
mysql_query($actualiza_contador, $poetasirc);




__________________
  #4 (permalink)  
Antiguo 13/05/2006, 06:09
fgb
 
Fecha de Ingreso: agosto-2004
Mensajes: 15
Antigüedad: 13 años, 4 meses
Puntos: 0
Le he añadido el or die(mysql_error()). Si suprimo los apóstrofes me da el siguiente mensaje:

You have an error in your SQL syntax near '' at line 1

Si se los pongo no me da error alguno pero no me actualiza (no me actualiza ni con ellos ni sin ellos)

Este es el código actual:

?php $actualiza_contador="UPDATE poemas SET contador_poemas_leidos=contador_poemas_leidos+1 WHERE id=$id";
mysql_query($actualiza_contador, $poetasirc) or die(mysql_error()); ?>
  #5 (permalink)  
Antiguo 17/05/2006, 06:15
fgb
 
Fecha de Ingreso: agosto-2004
Mensajes: 15
Antigüedad: 13 años, 4 meses
Puntos: 0
Solucionado

Finalmente he podido solucionarlo.
Dejo el código por si alguien lo necesitara.
Gracias jcxnet por ayudarme.

El código lo guardo en un fichero llamado leido.php y luego con un include lo llamo desde la página que lo necesito.




<?php require_once('../../../../Connections/paises.php'); //conexión a la base de datos ?>


<?php
mysql_select_db($database_paises, $paises);
$result = mysql_query("SELECT * FROM paises WHERE publicar_si_no = 'Si' ORDER BY id DESC ");
// echo $row_rg_paises['id']; // comprobar numero de registro (opcional)
if ($row = mysql_fetch_array($result)){ //se asigna a $row el resultado de la consulta si lo hay

do {
$id=$row_rg_paises['id'];//se asigna a la variable $id el valor del campo id de la tabla

} while ($row = mysql_fetch_array($result)); //mientras el resultado de la consulta la variable $id sea igual al valor del campo id de la tabla actualizamos el contador de paises leidos sumándole uno
$update = "UPDATE paises SET contador_paises_leidos=contador_paises_leidos+1 WHERE paises.id=$id";
$updatesql = mysql_query($update, $paises);

} else {
echo "¡ No se ha encontrado ningún registro !"; //Mensaje si la consulta no nos devuelve ningún registro
} ?>

Última edición por fgb; 17/05/2006 a las 06:21
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 00:45.