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

Ayuda con order by, no me ordena los resultados

Estas en el tema de Ayuda con order by, no me ordena los resultados en el foro de Mysql en Foros del Web. Buenas tardes, tengo una consulta que me busca campos de dos tablas, en concreto el código de la consulta es: select * from dbdiscos INNER ...
  #1 (permalink)  
Antiguo 11/10/2008, 09:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Ayuda con order by, no me ordena los resultados

Buenas tardes,

tengo una consulta que me busca campos de dos tablas, en concreto el código de la consulta es:

select * from dbdiscos INNER JOIN dbcanciones ON dbdiscos.iddisco=dbcanciones.iddisco where nomdisco like '%".$nomdisco."%' ORDER BY numcancion

Pues bien, funciona perfectamente exceptuando el order by, que no se por qué, luego cuando imprime los resultados, no aparecen en el orden del campo numcancion. He estado mirando en consultas de otra gente, y he visto que a veces con el innerjoin, al poner el atributo order by, detallan también la tabla, con lo que quedaría así:

select * from dbdiscos INNER JOIN dbcanciones ON dbdiscos.iddisco=dbcanciones.iddisco where nomdisco like '%".$nomdisco."%' ORDER BY dbcanciones.numcancion

Pero sigue sin devolverme los datos de forma ordenada. ¿Alguien puede echarme una mano plis?

Gracais y un saludo.
  #2 (permalink)  
Antiguo 12/10/2008, 11:51
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Ayuda con order by, no me ordena los resultados

verifica que tus datos dentro numcancion no tengan espacios en blanco al principio y solo almacenas números ese campo debe ser un INT

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 12/10/2008, 14:09
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Ayuda con order by, no me ordena los resultados

Hoolass,

Pues el campo es tinyint (también sirve para el caso no?), y creo que sí que tienen espacios delante por lo siguiente. El campo numcancion es tinyint (2), para que solo pueda tener valores hasta 99. Entonces los dos campos que he metido para ir probando, tienen valor asignado 1 y 2, aunque cuando los metí lo hice como 01 y 02 (no sé por qué desaparecen los 0). Puede ser por esto?

Por lo demás sigo probando, y me sigue apareciendo primero la canción 2 y luego la 1.

Gracias y un saludo.
  #4 (permalink)  
Antiguo 12/10/2008, 16:17
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Ayuda con order by, no me ordena los resultados

como es tu consulta ?
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #5 (permalink)  
Antiguo 13/10/2008, 12:16
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Ayuda con order by, no me ordena los resultados

Buenas, sí, te pongo la consulta, aunque alguna vez me dijeron que esto ya debería ir en el subforo de php, pero bueno, como entiendo que en un foro lo peor que hay es que hayan posts duplicados, si alguien puede moverlo si eso fuera así lo agradecería.

La consulta es:
$querydb = mysql_query("select * from dbdiscos INNER JOIN dbcanciones ON dbdiscos.iddisco=dbcanciones.iddisco where nomdisco like '%".$nomdisco."%' ORDER BY dbcanciones.numcancion") or die("Error en query:".mysql_error() ); // EL ORDENADOR POR CANCIONES NO VA

y luego para imprimir los datos lo hago así:

$numresultados=mysql_num_rows($querydb);
for($i=0;$i<$numresultados;$i++) {
$row=mysql_fetch_array($querydb);
mysql_data_seek($querydb,$i);
echo "<a href=\"#titulo$i\">".stripslashes(nl2br($row[titcancion]))."</a><br>";
}

Y eso, sale primero el campo 2 y luego el campo 1 o_O

Gracias y un saludo
  #6 (permalink)  
Antiguo 14/10/2008, 10:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Ayuda con order by, no me ordena los resultados

Burro que soy....!!! Llevo días con esto!! Y era lo más sencillo del mundo. Muchas gracias a todos y sorry por ser tan cateto.
El error precisamente estaba en el texto que puse arriba... por haber posicionado la función mysql_data_seek después de la definición de la variable $row. Sólo había que ponerlo antes.. jeje.

Gracias y un saludo.

Última edición por Chechux; 14/10/2008 a las 11:04
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 18:22.