Foros del Web » Programando para Internet » PHP »

Ordenar resultado de consulta usando ASC no funciona

Estas en el tema de Ordenar resultado de consulta usando ASC no funciona en el foro de PHP en Foros del Web. Muy buenas. Acudo a vosotros por que tengo un problemilla al ordenar los resultados de una consulta. Esta es la consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: ...
  #1 (permalink)  
Antiguo 11/04/2014, 11:20
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Ordenar resultado de consulta usando ASC no funciona

Muy buenas.
Acudo a vosotros por que tengo un problemilla al ordenar los resultados de una consulta.
Esta es la consulta:
Código PHP:
Ver original
  1. SELECT * FROM tblcomentario WHERE tblcomentario.estado=1 ORDER BY total ASC LIMIT $inicio, $registros;"
le pido que me ordene los resultados por el campo total que es un campo de la tabla tblcomentario.
Es un campo int() que hasta lo que lei y siempre entendi es el tipo más logico para poder ordenador. Tambien decir que los valores los son numeros enteros.
Cual puede ser el motivo por el que no lo hace?
Un saludo y muchas gracias de antemano.
__________________
http://www.paxarindesign.es
  #2 (permalink)  
Antiguo 11/04/2014, 11:27
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Seria mucho pedir unos 10-30 resultados de la columna total para ver que hace? gracias!
  #3 (permalink)  
Antiguo 11/04/2014, 11:45
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por Qazser Ver Mensaje
Seria mucho pedir unos 10-30 resultados de la columna total para ver que hace? gracias!
En esa tabla solo tengo almacenados ahora mismo 5 resultados para ese campo.
Uso estos datos para ordenar una zona de comentarios. Para que se muestren los más votados arriba y lo menos abajo, como es logico
Tengo dos campos:
Votos y total.
En votos almaceno las veces que se vota (En cada caso 1) y en total los votos que le dan (van del 1 al 5)
es que no se como subir una imagen de la bbdd.
No se si con esto te aclararia algo.
__________________
http://www.paxarindesign.es
  #4 (permalink)  
Antiguo 11/04/2014, 11:53
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Ordenar resultado de consulta usando ASC no funciona

si...Más claro está.

Mmmmm pues no se me ocurre ahora sin ver más.

Usas phpmyadmin? Puedes ir a la tabla, pinchar Estructura, copiar todo el texto que hay ahí y pegarlo aqui? Seria una alternativa a la foto.

Otra cosa que se me ocurre, el limit, sabes que comienza por 0, no por 1 (lo digo porque pienso que quisas pones 1, y te sorprendes que comienze por el segundo valor)
  #5 (permalink)  
Antiguo 11/04/2014, 11:57
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por paxarin Ver Mensaje
En esa tabla solo tengo almacenados ahora mismo 5 resultados para ese campo.
Uso estos datos para ordenar una zona de comentarios. Para que se muestren los más votados arriba y lo menos abajo, como es logico
Tengo dos campos:
Votos y total.
En votos almaceno las veces que se vota (En cada caso 1) y en total los votos que le dan (van del 1 al 5)
es que no se como subir una imagen de la bbdd.
No se si con esto te aclararia algo.
seleccionas con el mouse copias y pegas... es una tabla html..
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 11/04/2014, 12:11
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por Qazser Ver Mensaje
si...Más claro está.

Mmmmm pues no se me ocurre ahora sin ver más.

Usas phpmyadmin? Puedes ir a la tabla, pinchar Estructura, copiar todo el texto que hay ahí y pegarlo aqui? Seria una alternativa a la foto.

Otra cosa que se me ocurre, el limit, sabes que comienza por 0, no por 1 (lo digo porque pienso que quisas pones 1, y te sorprendes que comienze por el segundo valor)
1 id int(10) UNSIGNED No
2 buscador_id int(10) No
3 co_categoria varchar(30) utf8_general_ci No
4 co_seccion varchar(100) utf8_general_ci No
5 co_pagina varchar(100) utf8_spanish_ci No
6 co_link varchar(50) utf8_spanish_ci
7 co_nombre varchar(40) utf8_general_ci
8 co_mail varchar(100) utf8_general_ci
9 co_web varchar(100) utf8_spanish_ci
10 co_comentario varchar(300) utf8_general_ci
11 ip varchar(20) utf8_general_ci No
12 estado int(11) No Ninguna
13 fecha varchar(20) utf8_general_ci No
14 votes int(11) No
15 total int(11)

Total es el campo por el que ordeno
__________________
http://www.paxarindesign.es
  #7 (permalink)  
Antiguo 11/04/2014, 12:26
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Y...a ver, que es lo que hace?

Ignora el order by y te los muestra por orden de inserción?
o te los mezcla todos?

Puede que esté ciego pero no veo nada malo en la query en sí.


Una cosa, haz algo por mi.

Ve a la tabla, pero esta vez a examinar/browse enves de estructura.

Pincha en la columna total hasta que ordene Ascendentemente (si no es pinchando una es pinchando 2 veces), deberia aparecerte arriba la query que ha usado phpmyadmin para hacerlo.

Esa query la pegas en tu aplicación sustituyendo la que tienes actualmente, y le vuelves a añadir las variables del limit manualmente.

Aunque sea la misma query, y suene a una estupidez, y no ves cambios...A mi me ha pasado unas cuantas veces ya, un fenómeno parecido, que tengo una query, no va, la simulo por phpmyadmin, reemplazo la query que me da phpmyadmin que es identica, y me va.....Milagros de la vida.
  #8 (permalink)  
Antiguo 11/04/2014, 12:44
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Me da esta consulta
SELECT *
FROM `tblcomentario`
ORDER BY `tblcomentario`.`total` ASC
LIMIT 0 , 30
__________________
http://www.paxarindesign.es
  #9 (permalink)  
Antiguo 11/04/2014, 12:48
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: Ordenar resultado de consulta usando ASC no funciona

Si el camnpo es numérico, como lo describes, el ordenamiento debería ser correcto desde ese punto de vista. MySQL no se equivoca.
Pero si el tema es que un valor se repite, por ejemplo, entre varios de los registros, ordenara por "total" y luego por PK. Eso es lo usual, lo que implica que el orden puede ser algo extraño.
¿Podrías mostrarnos concretamente cómo te aparece el resultado, y como se supone que debería aparecer, segun dices?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 11/04/2014, 12:48
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Se me ocurrió ahora, y si "total" es una palabra protegida? entonces necesita esas comillas especiales....

SELECT * FROM tblcomentario WHERE tblcomentario.estado=1 ORDER BY `total` ASC LIMIT $inicio, $registros;

Pruebalo así
  #11 (permalink)  
Antiguo 11/04/2014, 12:52
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por Qazser Ver Mensaje
Seria mucho pedir unos 10-30 resultados de la columna total para ver que hace? gracias!
Yo creo que eso nos serviría, vas al PHPmyAdmin, pinchas en "SQL", pegas tu consulta, presionas continuar, te dará los resultados, los seleccionas, copias y pegas acá en el foro.

La verdad por mas que veo la consulta no le veo nada mal.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #12 (permalink)  
Antiguo 11/04/2014, 12:52
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si el camnpo es numérico, como lo describes, el ordenamiento debería ser correcto desde ese punto de vista. MySQL no se equivoca.
Pero si el tema es que un valor se repite, por ejemplo, entre varios de los registros, ordenara por "total" y luego por PK. Eso es lo usual, lo que implica que el orden puede ser algo extraño.
¿Podrías mostrarnos concretamente cómo te aparece el resultado, y como se supone que debería aparecer, segun dices?
como es logico al puntuar los comentarios de 1 al 5 existen repeticiones de puntos.
__________________
http://www.paxarindesign.es
  #13 (permalink)  
Antiguo 11/04/2014, 13:02
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por Qazser Ver Mensaje
Se me ocurrió ahora, y si "total" es una palabra protegida? entonces necesita esas comillas especiales....

SELECT * FROM tblcomentario WHERE tblcomentario.estado=1 ORDER BY `total` ASC LIMIT $inicio, $registros;

Pruebalo así
la verdad que no creo que total sea una plabra especial para php, no obstante estoy buscando, pero pienso que seria muy raro, o no?
__________________
http://www.paxarindesign.es
  #14 (permalink)  
Antiguo 11/04/2014, 13:05
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Ordenar resultado de consulta usando ASC no funciona

en los años que llevo con la maldicion del mysql....Me he tropezado con palabras protegidas que no te las crees, ni me las creo yo jajaj

AH! y por si acaso..COPIA Y PEGA. yo en mis comienzos cogia la comilla simple, el acento, nada servia, hasta hoy no se donde está la maldita comilla en mi teclado jaja, siempre copiala del phpmyadmin que él sabe.

Y si no es protegida, a seguir buscando.. (y copia+peganos cuando puedas una lista de resultados haciendo un select solo a total para que veamos lo que ves tu)
  #15 (permalink)  
Antiguo 11/04/2014, 13:05
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por stramin Ver Mensaje
Yo creo que eso nos serviría, vas al PHPmyAdmin, pinchas en "SQL", pegas tu consulta, presionas continuar, te dará los resultados, los seleccionas, copias y pegas acá en el foro.

La verdad por mas que veo la consulta no le veo nada mal.
Hice lo que me pides y me devuelve los resultado desordenados
4-5-5-5-5-10
cuando lo logico seria 10-5-5-5-5-4, no?
__________________
http://www.paxarindesign.es
  #16 (permalink)  
Antiguo 11/04/2014, 13:06
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Ordenar resultado de consulta usando ASC no funciona

espera....que era eso????

anda ya, quita el ASC y pon DESC. Buenas noches

Ascendiente significa que va ascendiendo..o sea que empieza por una cifra pequeña y ascende a una cifra grande, tu buscas el descendiente

Llevaban tooda la tarde ordenadas, anda ya, nos debes una cerveza xd
  #17 (permalink)  
Antiguo 11/04/2014, 13:10
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por Qazser Ver Mensaje
espera....que era eso????

anda ya, quita el ASC y pon DESC. Buenas noches

Ascendiente significa que va ascendiendo..o sea que empieza por una cifra pequeña y ascende a una cifra grande, tu buscas el descendiente

Llevaban tooda la tarde ordenadas, anda ya, nos debes una cerveza xd
Si el problema es ese... las cervezas estan pagadas y si hace falta unas sidras tambien que de eso tengo más y a mano
__________________
http://www.paxarindesign.es
  #18 (permalink)  
Antiguo 11/04/2014, 13:12
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: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por paxarin Ver Mensaje
Hice lo que me pides y me devuelve los resultado desordenados
4-5-5-5-5-10
cuando lo logico seria 10-5-5-5-5-4, no?
Costaría menos tiempo y esfuerzo si hicieras lo que se te pide: Copia y pegar la tabla de resultados ENTERA. Con eso podemos ver lo que tu ves (recuerda que las funciones de tlepatía en FDW están desactivdas).
De todos modos ya te dieron la solución: Siempre estuvieron ordenadas, solo que tu no estabas haciendo en el orden que debías hacerlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #19 (permalink)  
Antiguo 11/04/2014, 13:18
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Ordenar resultado de consulta usando ASC no funciona

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Costaría menos tiempo y esfuerzo si hicieras lo que se te pide: Copia y pegar la tabla de resultados ENTERA. Con eso podemos ver lo que tu ves (recuerda que las funciones de tlepatía en FDW están desactivdas).
De todos modos ya te dieron la solución: Siempre estuvieron ordenadas, solo que tu no estabas haciendo en el orden que debías hacerlo.
Sorry la verdad que al final con todas las cosas que estuve cambiando me obcequé y no lo veia...mil perdones de verdad..
__________________
http://www.paxarindesign.es

Etiquetas: registro, resultado, select, tabla, usando
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:24.