Foros del Web » Programando para Internet » PHP »

Consulta mysql que ordene resultados conforme se actualizan

Estas en el tema de Consulta mysql que ordene resultados conforme se actualizan en el foro de PHP en Foros del Web. hola amigos tengo el siguiente codigo <?php include('conexion.php'); $clave= mysql_query("SELECT * FROM turnos_dia WHERE status='ATENDIENDO' order by id desc"); //Cuento el total de registros if(mysql_num_rows($clave)!=0){ ...
  #1 (permalink)  
Antiguo 03/10/2013, 09:20
Avatar de rachpts  
Fecha de Ingreso: febrero-2012
Mensajes: 117
Antigüedad: 12 años, 1 mes
Puntos: 0
Consulta mysql que ordene resultados conforme se actualizan

hola amigos tengo el siguiente codigo
<?php
include('conexion.php');
$clave= mysql_query("SELECT * FROM turnos_dia WHERE status='ATENDIENDO' order by id desc"); //Cuento el total de registros
if(mysql_num_rows($clave)!=0){ // si no es cero, procedemos.
while ($row= mysql_fetch_array ($clave, MYSQL_ASSOC))
{

$turno=$row['turno'];
$caja=$row['caja'];

echo "<table width='500' id='tfhover' class='tftable' border='1'>";



echo"<tr>";

echo"<td width='250'>", $row['turno'],"</td>";
echo"<td width='250'>", $row['caja'],"</td>";

echo"</tr>";


echo "</table>";

}
}


?>
este codigo esta dentro de otro con ajax que actualiza conforme van cambiando los status en la bd
mi problema es que los ordena de tal forma que si el ultimo registro se actualiza lo manda hasta abajo
y yo quiero q el último que se actualiza vaya hasta arriba
ojala me puedan ayudar
  #2 (permalink)  
Antiguo 03/10/2013, 09:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta mysql que ordene resultados conforme se actualizan

Puedes debes cambiar el orden de tu consulta, ¿no crees?
Cita:
ORDER BY <la columna que quieres ordenar> ASC/DESC
Obviamente no es un tema de programación PHP por lo cual no debiste publicar aquí, tu problema corresponde a base de datos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/10/2013, 09:28
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, 4 meses
Puntos: 2658
Respuesta: Consulta mysql que ordene resultados conforme se actualizan

Cita:
si el ultimo registro se actualiza
La única forma en que eso se puede producir, en el contexto de tu query, es que en lugar de actualizar (UPDATE) el registro, lo esté agregando (INSERT), por lo que asumo que cuando modificas un turno, das de baja la versión anterior del mismo...
La única solución práctica para lo que quieres, a nivel de consulta, es que el ORDER BY se haga sobre el horario del turno (en tanto sean columnas TIME o DATETIME), y no sobre el ID numérico.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 03/10/2013, 09:34
Avatar de rachpts  
Fecha de Ingreso: febrero-2012
Mensajes: 117
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta mysql que ordene resultados conforme se actualizan

ok muchas gracias por contestar, ya cambie el order by el problema es q mi sistema funciona de la siguiente forma
estos cambios que quiero q se reflejen salen de una tabla que a su vez se va actualizando conforme 8 personas inician sesion y van dando de alta los turnos, entonces no me esta funcionando por eso el order by, se me ocurrio tambien hacerlo con un arreglo pero sigo en las mismas y no me sale lo q quiero.
Creo que lo intentare de la forma q me explica gnzsoloyo guiandome por el campo que tengo q igual actualiza la alta del status,
gracias
  #5 (permalink)  
Antiguo 03/10/2013, 09:45
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, 4 meses
Puntos: 2658
Respuesta: Consulta mysql que ordene resultados conforme se actualizan

Intentalo por ese lado, pero de todos modos me gustaría que me confirmes ese detalle que menciono: ¿Das de baja el registro anterior o no?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 03/10/2013, 09:47
Avatar de rachpts  
Fecha de Ingreso: febrero-2012
Mensajes: 117
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta mysql que ordene resultados conforme se actualizan

no lo puedo dar de baja porq necesito sacar datos para realizar posteriormente reportes de quien atendio cada turno ;) muchas gracias por tu ayuda
  #7 (permalink)  
Antiguo 03/10/2013, 10:22
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, 4 meses
Puntos: 2658
Respuesta: Consulta mysql que ordene resultados conforme se actualizan

No me refiero a si lo das de baja con un DELETE, sino si hay alguna forma en que lo "desactives", por así decirlo, por ejemplo poniéndole un campo donde haya una fecha de baja.
Me explico: Como ya te mencioné, el problema que tienes sólo se puede producir si en lugar de estar haciendo UPDATEs a esa tabla en los registros de los horarios, estuvieses haciendo INSERTs, esto es, agregando registros nuevos.
Es el único modo en que puedes tener problemas de ordenamiento.
Ahora bien, eso implica que si no estás haciendo DELETE al registro anterior, y no estás poniendo un campo que lo desactive, ese registro sigue estando, pero hay alguna modificación al dato.
El problema es que como lo describes, pueden existir dos o más registros, referidos al mismo turno, del mismo día, con diferencias de datos de otro tipo... Y eso es lo que se llama "inconsistencia de datos", problema muy serio en BBDD.
Así que mi pregunta es: ¿Cómo haces para diferenciar el nuevo registro (activo), del registro anterior (descartado), de modo que no se produzcan errores al leerlos?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 03/10/2013, 11:10
Avatar de rachpts  
Fecha de Ingreso: febrero-2012
Mensajes: 117
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta mysql que ordene resultados conforme se actualizan

ok no hay modo que se repitan si a eso te refieres porque tienen un indentificador q va por área que son las sesiones q mencione anteriormente, ok cada que un usuairio atiende el turno se actualiza ese campo dandolo como finalizado, y no se repiten por dia porq a pesar de que tengo una tabla genera que guarda todos mis turnos finalizados, tengo otra que va por dia, es decir no se repiten y como te repito se van actualizando cada que una caja o sesion los va atendiendo :) solo que como mencione necesitaba ordenarlos ya q tengo otro sistema que los muestra en pantalla conforme se van atendiendo y lo q quiero es q los muestre el último dato hasta arriba no hasta abajo
Saludos :)

Etiquetas: mysql, registro, resultados, select, sql
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 04:57.