Foros del Web » Programando para Internet » PHP »

Actualizar veces visto e imprimir en el mismo script

Estas en el tema de Actualizar veces visto e imprimir en el mismo script en el foro de PHP en Foros del Web. Hola chicos, de nuevo yo xD, veran, ahora tengo un problemita con un archivo que muestra informacion de un item en especifico y ademas actualiza ...
  #1 (permalink)  
Antiguo 20/10/2009, 09:58
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Actualizar veces visto e imprimir en el mismo script

Hola chicos, de nuevo yo xD, veran, ahora tengo un problemita con un archivo que muestra informacion de un item en especifico y ademas actualiza el numero de veces que el item es visualizado, tengo una sintaxis algo asi:

Código PHP:
$sql="SELECT id, item, views";
$result mysql_query($sql);
$id=$_GET["id"];

$update="UPDATE products SET views='views'+1 WHERE id='$id'";
mysql_query($update);

echo 
"".$row['item']." This Item has been viewed ".$row['views']." times."
Ahora mi pregunta, algo estoy haciendo mal que no me esta actualizando el contador.

Alguien podria por favor, decirme que monstruosidad estoy haciendo ahi? xD

Mil gracias chicos !!!
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #2 (permalink)  
Antiguo 20/10/2009, 10:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Actualizar veces visto e imprimir en el mismo script

Pues te falta rescatar $row (usando mysql_fetch_row), y en tu consulta poner un WHERE para que solo te muestre las visitas del ID que le estas enviando.

Saludos.
  #3 (permalink)  
Antiguo 20/10/2009, 10:04
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Actualizar veces visto e imprimir en el mismo script

Hola GatorV gracias por tu contestacion.

Por eso no tengo problema, copie solo una parte del codigo, el primer SQL que uso usa JOINs y rescato las variables con

Código PHP:
while($row mysql_fetch_assoc($result)){ 
Pero el problema es ke no me actualiza las veces visto, algo estoy haciendo mal y por mas ke le doy vueltas no encuentro el problema.
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #4 (permalink)  
Antiguo 20/10/2009, 10:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Actualizar veces visto e imprimir en el mismo script

Comprueba el resultado de tu consulta, y con eso puedes ver:
Código PHP:
Ver original
  1. $update="UPDATE products SET views='views'+1 WHERE id='$id'";
  2. $result = mysql_query($update);
  3. if (!$result) {
  4.       die(mysql_error() . ' en ' . $update);
  5. }

Saludos.
  #5 (permalink)  
Antiguo 20/10/2009, 10:14
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Actualizar veces visto e imprimir en el mismo script

Ahora no procesa el mysql_fetch_assoc() y me regresa:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/test/public_html/details.php on line 28

Lo cambie a $result2 y puse asi:
Código PHP:
$update="UPDATE products SET views='views'+1 WHERE id='$id'";
$result2 mysql_query($update); 
if (!
$result2) {
      die(
mysql_error() . ' en ' $update);

Pero no me regresa error alguno

La tabla MySQL en ke almacena el dato es un int(5)
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #6 (permalink)  
Antiguo 20/10/2009, 10:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Actualizar veces visto e imprimir en el mismo script

views no debería estar entre comillas en la consulta, debe ser:
Código MySQL:
Ver original
  1. UPDATE products SET views = views + 1 WHERE id = '$id';
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 20/10/2009, 10:22
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Actualizar veces visto e imprimir en el mismo script

Cita:
Iniciado por David Ver Mensaje
views no debería estar entre comillas en la consulta, debe ser:
Código MySQL:
Ver original
  1. UPDATE products SET views = views + 1 WHERE id = '$id';
Ia lo cambie pero sigue sin actualizarme el dato
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #8 (permalink)  
Antiguo 20/10/2009, 10:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Actualizar veces visto e imprimir en el mismo script

¿Has comprobado que $_GET['id'] tenga un valor que existe en la tabla?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 20/10/2009, 10:33
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Actualizar veces visto e imprimir en el mismo script

Cita:
Iniciado por David Ver Mensaje
¿Has comprobado que $_GET['id'] tenga un valor que existe en la tabla?
Sip, id es el, valga la redundancia, el id del item que busca y procesa el script, de hecho si hago un echo del id si me lo muestra perfectamente
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #10 (permalink)  
Antiguo 20/10/2009, 11:05
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Actualizar veces visto e imprimir en el mismo script

Ok, de nuevo una burrada mia xD

Lo ke pasaba es ke la variable no tenia un valor, ni GET ni POST tenian nada, asi que hice de esta manera:

Código PHP:
$sql="SELECT id, item, views";
$result mysql_query($sql);

while(
$row mysql_fetch_assoc($result)){
$update="UPDATE products SET views = views + 1 WHERE id = '".$row['id']."'";
mysql_query($update);

echo 
"".$row['item']." This Item has been viewed ".$row['views']." times."
Pero ahora, supongamos que veo el item, y me muestra el numero de veces que fue visto menos uno, porke no cuenta esa visualizacion porke ya se eligio el numero de views antes de ke actualizara, mi pregunta es ahora, como podria hacer, para que ke muestre el numero de veces visto pero contando esa visualizacion que tuvo?

De nuevo agradezco mucho su ayuda chicos.
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #11 (permalink)  
Antiguo 20/10/2009, 11:41
 
Fecha de Ingreso: julio-2009
Mensajes: 178
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Actualizar veces visto e imprimir en el mismo script

yo soy nuevo en esto apenas tengo un mes estudiando pero hice un contador que me funciona bien e incluso muestra y cuenta la vista actual y no uso loop pues no es la idea, te paso mi codigo

Código para actualizar:
Ver original
  1. db_connect();
  2.                 $peticion = "update conteo set visitas=visitas+1
  3.                              where clienteid=".$cliente["clienteid"];
  4.                 $actualizar = mysql_query($peticion);

ahora para recoger y mostrar el resultado
Código en pantalla:
Ver original
  1. db_connect();
  2.                 $peticion = "SELECT visitas FROM `conteo` where clienteid=".$cliente["clienteid"]";
  3.                              
  4.                 $mostrar = mysql_query($peticion);
  5.                 echo "La pagina ha sido visitada ".mysql_result($mostrar, 0)." veces";
esto hace lo ke pides
  #12 (permalink)  
Antiguo 20/10/2009, 12:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Actualizar veces visto e imprimir en el mismo script

Pues ya tienes el script solo sería que agregaras uno al valor de $row['views'] para que te imprimiera ese valor.

Saludos.
  #13 (permalink)  
Antiguo 20/10/2009, 14:16
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: Actualizar veces visto e imprimir en el mismo script

Sip, ia se lo agregue y todo pero no me cuenta la visita "actual" ya que regresa resultados antes de hacer el update, la unica manera que veo es hacer otro query y regresar el resultado de views, como ven chicos?

Gracias por tu ayuda SJENERT, lo revisare
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #14 (permalink)  
Antiguo 21/10/2009, 09:10
 
Fecha de Ingreso: julio-2009
Mensajes: 178
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Actualizar veces visto e imprimir en el mismo script

pon el segundo codigo al final de la loop o de la pagina a mostrar
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 21:35.