Foros del Web » Programando para Internet » PHP »

Actualizar campo online de 0 a 1

Estas en el tema de Actualizar campo online de 0 a 1 en el foro de PHP en Foros del Web. Hola quisiera actualizar el campo onine de 0 a 1 vale se que se hace con el update users set ... necesatitaría saber como añadirlo ...
  #1 (permalink)  
Antiguo 11/01/2013, 08:18
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Actualizar campo online de 0 a 1

Hola quisiera actualizar el campo onine de 0 a 1 vale se que se hace con el update users set ...

necesatitaría saber como añadirlo aqui , esto es cuando el usuario inicia la sesión .

mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."'");
  #2 (permalink)  
Antiguo 11/01/2013, 08:46
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: Actualizar campo online de 0 a 1

Pues muy sencillo. Cuando el resultado de la consulta que comentas

Código PHP:
mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."'"); 
sea correcto (es decir que existe un registro) a continuación realizas la actualización.

En caso negativo pues lo devuelves al formulario para que se registre correctamente.
__________________
Blog de humor http://elcuasatar.net63.net/
  #3 (permalink)  
Antiguo 11/01/2013, 08:50
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Actualizar campo online de 0 a 1

muy sencillo cuando hagas el iniciar sesión le pasas el mysql_query a una variable para sacar los datos que estas comparando en la sentencia:

Código PHP:
Ver original
  1. $q = mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."'");
  2. $row = mysql_fetch_array($q);

realizas todo tu proceso y compara que en el campo online sea 0 si lo es que modifique:

Código PHP:
Ver original
  1. if($row['online'] == "0"){
  2.  // Aqui la sentencia UPDATE...
  3. }

Espero a ver sido claro.
  #4 (permalink)  
Antiguo 11/01/2013, 10:03
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Actualizar campo online de 0 a 1

Si entendido está pero tendria que crear otro if ? o modificarlo en el mismo?

UPDATE users set online='1' where online='0'

El código php

Cita:
<?php
include("config.php");
session_start();
$correo = $_POST["correo"];
$contraseña = $_POST["contraseña"];
$busqueda = mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."'");
if($row=mysql_fetch_array($busqueda)){
echo "Si";
}else{
echo "No";
}
?>
  #5 (permalink)  
Antiguo 11/01/2013, 10:30
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
De acuerdo Respuesta: Actualizar campo online de 0 a 1

Seria algo por este estilo:

Código PHP:
Ver original
  1. <?php
  2.     include("config.php");
  3.     session_start();
  4.     $correo = $_POST["correo"];
  5.     $contraseña = $_POST["contraseña"];
  6.     $busqueda = mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."'");
  7.     $row = mysql_fetch_array($busqueda);
  8.  
  9.     if($row['correo'] == $correo && $row['contraseña'] == $contraseña){
  10.         if($row['online'] == "0"){
  11.             $update = mysql_query("UPDATE users set online = '1' where online = '0'");
  12.             echo "Si";
  13.         }else{
  14.             echo "este usuario esta logueado.";
  15.         }      
  16.     }else{
  17.         echo "No";
  18.     }
  19. ?>
  #6 (permalink)  
Antiguo 11/01/2013, 11:35
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: Actualizar campo online de 0 a 1

Igual se deberia hacer la operación inversa, una vez que el usuario se retire de la pagina y se destruya la sesión deberia cambiar nuevamente el estado a 0.

p.s ¿Con que fin planeas hacer esto? asi a botepronto no le encuentro utilidad a lo que pretendes hacer, tal vez si explicaras para que deseas usar ese campo de pronto exista otra solución. Yo personalmente no le veo uso práctico.
__________________
Blog de humor http://elcuasatar.net63.net/
  #7 (permalink)  
Antiguo 11/01/2013, 11:42
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Actualizar campo online de 0 a 1

Para lo que quieres hacer, es mejor utilizar una nueva tabla para guardar las sesiones activas, y la relacionas con la tabla de usuarios mediante alguna de sus claves.

De todas maneras, la consulta está mal creada:

Código SQL:
Ver original
  1. "UPDATE users set online = '1' where online = '0'"

Cambiaría a 1 todos los users con online=0. Deberías utilizar el WHERE con la clave del usuario logueado, o con su correo o lo que utilices para identificarlo.

Saludos
  #8 (permalink)  
Antiguo 12/01/2013, 14:27
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Actualizar campo online de 0 a 1

mmm... he preguntado en alguna ocasion para hacer que se muestren si los usuarios estan conectados o desconectados , entonces me dijeron que creara un campo que se llamara online y que este estuviera a 0=desconectado o 1 si estan online.

Etiquetas: mysql, campos
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:31.