Foros del Web » Programando para Internet » PHP »

Ordenar por mas registros

Estas en el tema de Ordenar por mas registros en el foro de PHP en Foros del Web. Pues tengo una tabla que muestra unos resultados, y otra que muestra su informacion. Necesito hacer que se ordene la consula de manera que los ...
  #1 (permalink)  
Antiguo 07/02/2010, 16:04
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 16 años
Puntos: 7
Ordenar por mas registros

Pues tengo una tabla que muestra unos resultados, y otra que muestra su informacion.

Necesito hacer que se ordene la consula de manera que los que hayan ganado mas, salgan arriva. El problema surge cuando en mi tabla (resultados) tengo esto

clanid | id | ganados | perdidos | empatados | clanid2

y en la otra (informacion)

id | nombre | web | etc


se trata de que busque por clanid cuantas veces a ganado es decir

where clanid='miclan' AND ganados='1', el que mas registros tiene de ganados, saldria arriva de la lista, el que menos pues al final
Y luego la segunda consulta muestra su informacion

Última edición por totolia; 07/02/2010 a las 16:10
  #2 (permalink)  
Antiguo 07/02/2010, 16:19
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Ordenar por mas registros

Hola totolia,

tengo el mismo problema con un sistema de votaciones.
De momento he conseguido contar el num de votos, pero nada de ordenar por el que mayor num tiene.

A ver si alguien nos echa una mano,

Código PHP:
<?php
$sql 
"SELECT id_sitio,COUNT(*) as n_votos FROM votos GROUP BY id_sitio";
$resmysql_query($sql) or die (mysql_error());
while (
$fila mysql_fetch_array($res)) {
echo 
$fila['id_sitio'].$fila['n_votos']."<br/>"
}
?>
Pd: No es mi intención pisarte el post
  #3 (permalink)  
Antiguo 08/02/2010, 00:47
 
Fecha de Ingreso: octubre-2009
Mensajes: 46
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Respuesta: Ordenar por mas registros

Cita:
Iniciado por totolia Ver Mensaje
Pues tengo una tabla que muestra unos resultados, y otra que muestra su informacion.

Necesito hacer que se ordene la consula de manera que los que hayan ganado mas, salgan arriva. El problema surge cuando en mi tabla (resultados) tengo esto

clanid | id | ganados | perdidos | empatados | clanid2

y en la otra (informacion)

id | nombre | web | etc


se trata de que busque por clanid cuantas veces a ganado es decir

where clanid='miclan' AND ganados='1', el que mas registros tiene de ganados, saldria arriva de la lista, el que menos pues al final
Y luego la segunda consulta muestra su informacion

Hola!! Sino me equivoco se hace con order by

WHERE clanid='miclan' ORDER BY ganados DESC
  #4 (permalink)  
Antiguo 08/02/2010, 07:07
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 16 años
Puntos: 7
Respuesta: Ordenar por mas registros

uri, eso seria si fuese cada vez que uno gana se suma en una tabla, yo tengo una tabla de resultados y otra de datos tengo que extraer las idclan, de manera que la primera tiene mas registros y luego ir mostrando sus datos con un where id='$idclan' pero nose porque no me funciona
  #5 (permalink)  
Antiguo 08/02/2010, 07:07
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 16 años
Puntos: 7
Respuesta: Ordenar por mas registros

Cita:
Iniciado por santris Ver Mensaje
Hola totolia,

tengo el mismo problema con un sistema de votaciones.
De momento he conseguido contar el num de votos, pero nada de ordenar por el que mayor num tiene.

A ver si alguien nos echa una mano,

Código PHP:
<?php
$sql 
"SELECT id_sitio,COUNT(*) as n_votos FROM votos GROUP BY id_sitio";
$resmysql_query($sql) or die (mysql_error());
while (
$fila mysql_fetch_array($res)) {
echo 
$fila['id_sitio'].$fila['n_votos']."<br/>"
}
?>
Pd: No es mi intención pisarte el post
No hombre no se trata de que nos ayuden en ninhun sentido me pisas el post tranquilo
  #6 (permalink)  
Antiguo 08/02/2010, 07:45
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Ordenar por mas registros

pongan sus respectivos codigos, asi se ve mas facil en que parte estan fallando y el por que con el ORDER BY no les funciona a lo que quieren....
  #7 (permalink)  
Antiguo 08/02/2010, 08:07
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Ordenar por mas registros

Tal vez os haga falta esto:
http://www.forosdelweb.com/f18/orden...tarios-776357/
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #8 (permalink)  
Antiguo 08/02/2010, 10:34
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Ordenar por mas registros

El comentario de vicram10 me hizo ver la luz, me faltaba el ORDER BY.


Explicación:

En esta tabla se van insertando los votos, un usuario solo puede votar por el mismo sitio una vez.

campo "id_voto" 3 registros (1,2,3)
campo "id_sitio" 3 registros (10,10,11)
campo "id_user" 3 registros (7,8,7)


En la consulta agrupo por id_sitio (que establece la relación con la tabla sitios) y ordeno por n_votos.


Código PHP:
<?php 
$sql 
"SELECT id_sitio,COUNT(*) as n_votos FROM votos GROUP BY id_sitio ORDER BY n_votos desc"
$resmysql_query($sql) or die (mysql_error()); 
while (
$fila mysql_fetch_array($res)) { 
echo 
$fila['id_sitio'].$fila['n_votos']."<br/>";  

?>

La salida de la consulta es:

id_sitio 10 votos 2

Cita:
(aquí pondré la otra consulta para mostrar la info del sitio pasando como condicion el id_sitio)
id sitio 11 votos 1


Por mi parte es lo que necesitaba.

Saludos y gracias

Última edición por santris; 08/02/2010 a las 11:25

Etiquetas: mas, registros
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:43.