Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Actualizar el flag no me resulta

Estas en el tema de Actualizar el flag no me resulta en el foro de Mysql en Foros del Web. hola amigos! Quisiera actualizar un row de un campo de una determinada tabla entonces tengo conectado= 0 por defecto y cuando el usuario se conecte ...
  #1 (permalink)  
Antiguo 19/10/2010, 08:18
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Actualizar el flag no me resulta

hola amigos!

Quisiera actualizar un row de un campo de una determinada tabla
entonces tengo conectado= 0 por defecto y cuando el usuario se conecte quisiera cambiarlo a 1 para ocupar en otro codigo, pero al final me cambia todos que estan en zero y no solo la del usuario que se conecta, que es lo que necesito.

Que estare haciendo mal ?
alguien me puede hechar un vistazo a este codigo?
este es el codigo:


Código PHP:
$orden = ("select *  from usuarios where conectado='0'");
 
mysql_query("UPDATE  usuarios SET  conectado='1'") ; 
saludos!
  #2 (permalink)  
Antiguo 19/10/2010, 09:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Actualizar el flag no me resulta

Lo que estás haciendo mal es evidente: No estás indicando a cuál de los usuarios quieres indicar como conectado, por lo que los pone a todos...
¿Para qué estas leyendo la tabla entera si luego no marcas el correcto:
Código MySQL:
Ver original
  1. UPDATE  usuarios
  2. SET  conectado='1'
  3. WHERE user_id = $id;
Donde $id sería el numero de usuario que se está logueando.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/10/2010, 10:38
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Actualizar el flag no me resulta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Lo que estás haciendo mal es evidente: No estás indicando a cuál de los usuarios quieres indicar como conectado, por lo que los pone a todos...
¿Para qué estas leyendo la tabla entera si luego no marcas el correcto:
Código MySQL:
Ver original
  1. UPDATE  usuarios
  2. SET  conectado='1'
  3. WHERE user_id = $id;
Donde $id sería el numero de usuario que se está logueando.
Hola gnzsoloyo!

lo puse asi pero tampoco me funciono me sigue actalizando todos los que estan en 0 y dejandolos en 1.

$orden = ("select * from usuarios where user_id = $id ");
mysql_query("UPDATE usuarios SET conectado='1'") ;
  #4 (permalink)  
Antiguo 19/10/2010, 11:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Actualizar el flag no me resulta

Cita:
$orden = ("select * from usuarios where user_id = $id ");
mysql_query("UPDATE usuarios SET conectado='1'") ;
Esto sigue siendo lo mismo que antes.

¿Estás entendiendo la idea de que a menos que indiques cuál es el ID del usuario que quieres cambiar, te los va a cambiar a todos?
Es decir, en el WHERE del UPDATE tienes que indicar cual es el ID... Porque eso es precisamente lo que no estás haciendo.

¿Se entiende bien?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 19/10/2010, 12:08
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Actualizar el flag no me resulta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Esto sigue siendo lo mismo que antes.

¿Estás entendiendo la idea de que a menos que indiques cuál es el ID del usuario que quieres cambiar, te los va a cambiar a todos?
Es decir, en el WHERE del UPDATE tienes que indicar cual es el ID... Porque eso es precisamente lo que no estás haciendo.

¿Se entiende bien?

Capté tu idea pero lo que no logro es ponerla en el plano.
saludos!



Trate de nuevo de esta forma y me resulto de maravillas.

Código PHP:
Ver original
  1. $orden = ("select * from usuarios where id = ". $_SESSION['id'] ."");
  2.  mysql_query("UPDATE  usuarios SET  conectado='1' where id = ". $_SESSION['id'] ."") ;




gracias por la ayuda y revisa este codigo para ver si se puede mejorar, lo que si esta funcional..

saludos!

Última edición por saraivaruas; 19/10/2010 a las 12:25
  #6 (permalink)  
Antiguo 19/10/2010, 12:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Actualizar el flag no me resulta

¡Exacto!
Ahora si...


__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 20/10/2010, 12:04
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
De acuerdo Respuesta: Actualizar el flag no me resulta

Esta funcionando de maravilla.
Gracias hermano!

Etiquetas: Ninguno
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 03:36.