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

que estoy haciendo mal????? (DATEDIFF)

Estas en el tema de que estoy haciendo mal????? (DATEDIFF) en el foro de Mysql en Foros del Web. hola la ide es esta, tengo que calcular la diferencia en dias entre la fecha actual y la fecha almacenada en fecha_baja. y al resultado ...
  #1 (permalink)  
Antiguo 30/03/2006, 08:43
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 18 años, 6 meses
Puntos: 4
que estoy haciendo mal????? (DATEDIFF)

hola la ide es esta, tengo que calcular la diferencia en dias entre la fecha actual y la fecha almacenada en fecha_baja. y al resultado guardarlo en dias_a_pub que es un campo de mi db. este calculo debo hacerlo para todo los usuarios registrados. no se que esta mal porfa revicen este codigo y diganme su opinion, es php.

$result = mysql_query("select * from usuarios", $coneccion);
while ($myrow=mysql_fetch_array($result)) {
$res=mysql_query("select DATEDIFF(CURDATE(),$myrow[fecha_baja]) as $dias",$coneccion);
echo $myrow[$dias];
$result2 = mysql_query("update usuarios set dias_a_pub = '$dias'", $coneccion);
if (!mysql_error()) {
echo "bien ";
}else { echo "mal ".mysql_error();}

}

lo que obtengo es las salidas que dicen "bien", pero el campo dias_a_pub y la variable $dias quedan vacias. por lo que supongo que el error esta en DATEDIFF muchas gracias espero su respuesta.

saludos
  #2 (permalink)  
Antiguo 31/03/2006, 19:09
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
tienes algunos errores en el PHP:
Código:
"select DATEDIFF(CURDATE(),$myrow[fecha_baja]) as $dias"
deberia ser
Código:
"select DATEDIFF(CURDATE(),".$myrow["fecha_baja"].") as dias"
otra cosa:
al escribir "select ... as $dias.." creo que lo que pretendes es que la diferencia de fechas se guarde en la variable $dias, y esto no es asi.

lo correcto seria esto:
Código:
$res=mysql_query("select DATEDIFF(CURDATE(),".$myrow["fecha_baja"].") as dias",$coneccion);
$row = mysql_fetch_array($res);
$dias = $row["dias"];
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
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 02:24.