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

Order By?

Estas en el tema de Order By? en el foro de Bases de Datos General en Foros del Web. hola que tal, tengo un pequeñisimo problema, lo que pasa es que quiero mostrar una lista de los top10 en una pagina PHP pero la ...
  #1 (permalink)  
Antiguo 01/06/2004, 18:53
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Order By?

hola que tal, tengo un pequeñisimo problema, lo que pasa es que quiero mostrar una lista de los top10 en una pagina PHP pero la lista sale ordenada por el nombre del artista y lo ideal seria mostrar en el orden de popularidad, veran, abro un archivo de texto donde tengo el listado de IDs de las rolas que estan en el top10 en tonces con estas ids yo selecciono de una tabla MySQL las rolas, pero a la hora de imprimirlas estan ordenadas por el nombre del artista o mas bien por el ID. la linea con la que hago la seleccion va asi:

SELECT `ID`, `Artista`, `Titulo`, `id` FROM `allvideos` WHERE `id` IN(1392,1401,1404,1410,1425,1425,1428,1433,1423,14 11,1412) LIMIT 0, 10
  #2 (permalink)  
Antiguo 01/06/2004, 21:42
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
pero en tu archivo de texto como determinas cuales son mas populares que las otras? orden de aparición en el archivo?

si este es el caso haz una consulta por cada ID, y no una global. Asi haces las consultas en el órden del archivo y en ese mismo orden aparecen. Aunque lo ideal no es leerlo de un archivo de texto, sino de otra tabla de la base de datos....

otra solución es precisamente hacer una tabla que se llame algo asi como top_videos y cuando abras el archivo haces

"TRUCATE TABLE top_videos";

con eso vacias la tabla de posibles resultados viejos, luego insertas un registro por cada ID del archivo de texto

"INSERT INTO top_videos (idTop, idAllVideos, posicion) VALUES('','idobtenidodelTXT', 'posicionobtenidadelTXT')";

luego nada mas

"SELECT * FROM allvideos AS vid, top_videos AS tvid WHERE vid.id = tvid.idAllVideos ORDER BY tvid.posicion DESC ";

Y listo... un saludo
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 11:49.