Foros del Web » Programando para Internet » PHP »

Crear un top 10

Estas en el tema de Crear un top 10 en el foro de PHP en Foros del Web. Hola amigos, estube leyendo bastante en el foro buscando algo que me ayude a crear un top 10 de usuarios que mas aportan y bueno, ...
  #1 (permalink)  
Antiguo 21/10/2011, 22:45
Avatar de MDJProdMusic  
Fecha de Ingreso: abril-2011
Ubicación: Antofagasta, Chile
Mensajes: 36
Antigüedad: 13 años
Puntos: 0
Pregunta Crear un top 10

Hola amigos, estube leyendo bastante en el foro buscando algo que me ayude a crear un top 10 de usuarios que mas aportan y bueno, lo que encontre lo aplique y no me funciono, asique como opcion ultimate recurro a molestarlos.

Sucede que tengo una tabla llamada mremix en la cual al publicar aportes de algunos djs se van agregando a dicha tabla, cuando agrego mas aportes de 1 nombre (dj) se va repitiendo el nombre de la persona en la columna "dj" y eso quiero rescatar, cuales son los nombres que mas se repiten (con esto haria el top de aportes) y hacer que aparescan solo los 10 mas repetidos.

Tengo esto, nose si se pueda modificar para que de el resultado que necesito:

Código PHP:
 <?
include('admin/config.php') ;
if (!isset(
$cx))
    
$cx 0;
    
$cantidad=10
    
$inicial $cx $cantidad;
    
$pegar "SELECT * FROM mremix ORDER BY id DESC LIMIT $inicial, $cantidad";
    
$cad mysql_db_query($db,$pegar) or die ("Consulta inv&aacute;lida : $sql");
while (
$row mysql_fetch_array($cad)) {
?>

 # <?=$row['dj']?><br />

<?
}
?>

Ojalas puedan ayudarme, soy novato y bueno agradeceria la ayuda.

Bendiciones
__________________
http://www.chiledj.cl
  #2 (permalink)  
Antiguo 22/10/2011, 00:14
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Crear un top 10

COUNT de mysql cuenta el numero de veces que aparece un resultado ejemplo

Código MySQL:
Ver original
  1. SELECT count(nombre) FROM tabla WHERE nombre = 'pedro';
  #3 (permalink)  
Antiguo 22/10/2011, 12:22
Avatar de MDJProdMusic  
Fecha de Ingreso: abril-2011
Ubicación: Antofagasta, Chile
Mensajes: 36
Antigüedad: 13 años
Puntos: 0
Respuesta: Crear un top 10

Claro, pero los nombres iran cambiando a medida que los usuarios compitan por estar en el top, que hago para que esto sea automatico sin necesidad de ingresar manualmente el nombre. ?
__________________
http://www.chiledj.cl
  #4 (permalink)  
Antiguo 22/10/2011, 12:40
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 13 años, 6 meses
Puntos: 55
Respuesta: Crear un top 10

creo que no entiendes bien las sentencia ...

la clausula count(nombre) se refiere a contar los registros por el campo dado "nombre" osea devolverá los mayores registros por el campo nombre

http://www.mysqlya.com.ar/temarios/d...od=32&punto=33
  #5 (permalink)  
Antiguo 22/10/2011, 14:07
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Crear un top 10

Cita:
Iniciado por MDJProdMusic Ver Mensaje
Claro, pero los nombres iran cambiando a medida que los usuarios compitan por estar en el top, que hago para que esto sea automatico sin necesidad de ingresar manualmente el nombre. ?
Usa COUNT, pero agrupa por usuario.

Código MySQL:
Ver original
  1. SELECT COUNT(*) as aportes FROM tabla GROUP BY nombre ORDER BY aportes DESC LIMIT 10;
  #6 (permalink)  
Antiguo 22/10/2011, 23:15
Avatar de MDJProdMusic  
Fecha de Ingreso: abril-2011
Ubicación: Antofagasta, Chile
Mensajes: 36
Antigüedad: 13 años
Puntos: 0
Respuesta: Crear un top 10

Cita:
Iniciado por Ronruby Ver Mensaje
Usa COUNT, pero agrupa por usuario.

Código MySQL:
Ver original
  1. SELECT COUNT(*) as aportes FROM tabla GROUP BY nombre ORDER BY aportes DESC LIMIT 10;


Ya lo introduje, pero estara bien asi

Código PHP:
 <?
include('/home/michael/public_html/admin/config.php') ;

$pegar "SELECT COUNT(*) nombreremix FROM mremix GROUP BY dj ORDER BY id DESC LIMIT 10;";
    
$cad mysql_db_query($db,$pegar) or die ("Consulta inv&aacute;lida : $sql");
while (
$row mysql_fetch_array($cad)) {
?>

 # <?=$row['dj']?><br />

<?
}
?>
__________________
http://www.chiledj.cl
  #7 (permalink)  
Antiguo 23/10/2011, 07:06
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Crear un top 10

Ordena los registros por nombreremix para que asi se obtengan los que mas aportan.
  #8 (permalink)  
Antiguo 23/10/2011, 23:25
Avatar de MDJProdMusic  
Fecha de Ingreso: abril-2011
Ubicación: Antofagasta, Chile
Mensajes: 36
Antigüedad: 13 años
Puntos: 0
Respuesta: Crear un top 10

Cita:
Iniciado por Ronruby Ver Mensaje
Ordena los registros por nombreremix para que asi se obtengan los que mas aportan.
me sale esto como resultado

Código:
# 1
# 11
# 1
# 1
# 1
# 9
# 4
# 7
# 4
# 4
__________________
http://www.chiledj.cl
  #9 (permalink)  
Antiguo 24/10/2011, 05:54
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Crear un top 10

Cita:
Iniciado por MDJProdMusic Ver Mensaje
me sale esto como resultado

Código:
# 1
# 11
# 1
# 1
# 1
# 9
# 4
# 7
# 4
# 4
Porque la consulta era solamente para probar. Tienes que sacar el nombre del dj en la consulta para mostrarlo. El COUNT solo trae el numero de aportes que ha hecho ese usuario.
  #10 (permalink)  
Antiguo 25/10/2011, 17:01
Avatar de MDJProdMusic  
Fecha de Ingreso: abril-2011
Ubicación: Antofagasta, Chile
Mensajes: 36
Antigüedad: 13 años
Puntos: 0
Respuesta: Crear un top 10

Cita:
Iniciado por Ronruby Ver Mensaje
Porque la consulta era solamente para probar. Tienes que sacar el nombre del dj en la consulta para mostrarlo. El COUNT solo trae el numero de aportes que ha hecho ese usuario.
No entiendo sinceramente :/


podrias mostrar mi error como codigo porfas
__________________
http://www.chiledj.cl
  #11 (permalink)  
Antiguo 25/10/2011, 18:34
 
Fecha de Ingreso: octubre-2011
Ubicación: Peru
Mensajes: 75
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Crear un top 10

El codigo final seria asi:

Cita:
<?
include('/home/michael/public_html/admin/config.php') ;

$pegar = "SELECT COUNT(*) nombreremix FROM mremix GROUP BY dj ORDER BY nombreremix DESC LIMIT 10;";
$cad = mysql_db_query($db,$pegar) or die ("Consulta inv&aacute;lida : $sql");
while ($row = mysql_fetch_array($cad)) {
?>

# <?=$row['dj']?><br />

<?
}
?>
Con ese codigo te mostrara el nombre del usuario
  #12 (permalink)  
Antiguo 25/10/2011, 18:36
Avatar de MDJProdMusic  
Fecha de Ingreso: abril-2011
Ubicación: Antofagasta, Chile
Mensajes: 36
Antigüedad: 13 años
Puntos: 0
Respuesta: Crear un top 10

Cita:
Iniciado por nemexis Ver Mensaje
El codigo final seria asi:



Con ese codigo te mostrara el nombre del usuario
no me da resultados :/ mira

Código:
#
#
#
#
#
#
#
#
#
#

[URL="http://www.chiledj.cl/demo.php"]http://www.chiledj.cl/demo.php[/URL]
__________________
http://www.chiledj.cl

Etiquetas: html, mysql, sql, tabla, top, usuarios
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 19:24.