sacarlos 10 resultados de la tabla

como sacar los 10 resultados mas votados de la tabla

<?php 
// conectar con la db
include "";
// seleccionamos la tb
$data = mysql_query("SELECT * FROM tabla ORDER BY id") or die(mysql_error());

//pasamos los datos por un bucle while 
while($ratings = mysql_fetch_array( $data )) { 
//Esto genera las url
echo "<ul>"; 
echo "<li>" .$ratings['url']."</li>";
echo "</ul>";
}
?>
Hola francisco. ¿Dónde estás limitando que el número de resultados sea 10? En principio esto debería sacar todos los resultados de la tabla, no sólo los 10 más votados.

Perdona si me equivoco pero no veo el límite por ningún lado.

Un saludo!
SuperHipo escribió:Hola francisco. ¿Dónde estás limitando que el número de resultados sea 10? En principio esto debería sacar todos los resultados de la tabla, no sólo los 10 más votados.

Perdona si me equivoco pero no veo el límite por ningún lado.

Un saludo!

Hola SuperHipo si tienes razon pero esa no es mi pregunta mi pregunta es como sacar los 10 resultados mas votados de la tabla tiene que aver algun codigo sentencia etc que ejerza ese control

cambio este
$data = mysql_query("SELECT * FROM tabla ORDER BY id") or die(mysql_error());
por este
$data = mysql_query("SELECT * FROM mi_tabla ORDER BY id ASC LIMIT 10") or die(mysql_error());

<?php 
// conectar con la db
include "";
// seleccionamos la tb
$data = mysql_query("SELECT * FROM mi_tabla ORDER BY id ASC LIMIT 10") or die(mysql_error());

//pasamos los datos por un bucle while 
while($ratings = mysql_fetch_array( $data )) { 
//Esto genera las url
echo "<ul>"; 
echo "<li>" .$ratings['url']."</li>";
echo "</ul>";
}
?>

un saludo
si, tienes que cambiar el


order by id asc LIMIT 10

por:
 order by votos desc  LIMIT 10
(pero tienes que tener un campo "votos" con la cantidad de votos recibidos )

...muestrame como esta armada tu tabla
Gracias Spitfire 2 vasta con camviar solo el campo en el query
------
mi tabla
------
CREATE TABLE vote (
id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
total INTEGER NOT NULL,
votes INTEGER NOT NULL,
url VARCHAR(250) NOT NULL
)
----------------------------------
el total INTEGER ES INT(11)
el votes INTEGER ES INT(11)
cotejamiento utf8_spanish_ci
----------------------------------
formulario de insercion de tipos en id pongo en cada insercion un 1 2 3 siguiente 4 etc
----------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>formulario</title>
<meta name="robots" content="noindex"/>
<style type="text/css">
/*<=!=[=C=D=A=T=A=[*/
body {
background-color: #808000;
}
div.c1 {text-align: center}
/*]=]=>*/
</style>
</head>
<body>
<div class="c1">
<br />
<form method="post" action="http://matarratos.tk/votaciones/insertardatosentabla.php">
<input type="text" name="id" value=
"id" size="80" maxlength=
"5" />
<input type="text"name="name" value=
"name" size="80" maxlength=
"145" /><br />
<input type="text" name="total" value=
"total" size="total" maxlength=
"6" />
<input type="text" name="votes" value=
"votes" size="80" maxlength=
"6" />
<input type="text" name="url" value=
"url" size="80" maxlength=
"250" />
<input type="SUBMIT" value="Enviar" name=
"Enviar la informaci&oacute;n al servidor" /><br />
</form>
</div>
</body>
</html>
-----------------------------------------------
variables de envio del formulario al INSERT
------------------------------------------------
<?php echo $_POST;
?><br />
<?php echo $_POST;
?><br />
<?php echo $_POST;
?><br />
<?php echo $_POST;
?><br />
<?php echo $_POST; ?> -------------------------------------------------- isertar los tipos desde el formulario en la tabla -------------------------------------------------- @mysql_query ("INSERT INTO vote ( `id`, `name`, `total`, `votes`, `url`) VALUES ('$_POST[id]', '$_POST[name]', '$_POST[total]', '$_POST[votes]', '$_POST[url]')"); --------------------------------------------------- codigo para crear los votos y devolverlos a la web ---------------------------------------------------------------------------- //este codigo primero estava asi pero era todo para la misma id $data = mysql_query("SELECT * FROM mi tabla") or //yo lo puse asi para diferentes id, WHERE id = '1' WHERE id = '2' WHERE id = 'etc' $data = mysql_query("SELECT * FROM mi tabla WHERE id = '1' ORDER BY ID") or die(mysql_error()); ---------------------------------------------------------------------------- [PHP] <?php // conectar con la db include "config.php"; // seleccionamos la tb $data = mysql_query("SELECT * FROM mi tabla WHERE id = '1' ORDER BY id") or die(mysql_error()); //Sólo se ejecuta este código si el usuario ha hecho clic en un enlace de votación if ( $mode=="vote") { //Si el usuario ya ha votado en lo particular, no se les permite votar de nuevo $cookie = "MySite $id"; if(isset($_COOKIE[$cookie])) { echo "Usted ya a votado para este juego<p>"; } //De lo contrario, les decimos que ya han votado else { $month = 2592000 + time(); $cookie(Mysite.$id, Voted, $month); //Luego actualizamos la información sobre la votación mediante la adición 1 al total de los votos y la adición de su voto (1,2,3, etc) para la calificación total mysql_query ("UPDATE vote SET total = total+$voted, votes = votes+1 WHERE id '1' = $id"); echo "Su voto ha sido emitido <p>"; } } //pasamos los datos por un bucle while while($ratings = mysql_fetch_array( $data )) { //Esto genera el nombre de los que votan entre comillas echo "Juego: " .$ratings['name']."<br>"; //Esto calcula el ranking de los que votan y luego lo devuelve redondeado a un decimal $current = $ratings[total] / $ratings[votes]; echo "Votos: " . round($current, 1) . "<br>"; //formulario Vota este juego: echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=1&id=".$ratings[id].">1</a> | "; echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=2&id=".$ratings[id].">2</a> | "; echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=3&id=".$ratings[id].">3</a> | "; echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=4&id=".$ratings[id].">4</a> | "; echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=5&id=".$ratings[id].">5</a> | "; echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=6&id=".$ratings[id].">6</a> | "; echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=7&id=".$ratings[id].">7</a> | "; echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=8&id=".$ratings[id].">8</a> | "; echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=9&id=".$ratings[id].">9</a> | "; echo "<a href=".$_SERVER['PHP_SELF']."?mode=vote&voted=10&id=".$ratings[id].">10</a><p>"; } ?> [/PHP] este post esta relacionado con este [URL]http://www.comocreartuweb.com/consultas/showthread.php/56086-sistema-de-votacion-en-php-y-mysql?p=289044#post289044
por eso lo pongo todo el codigo aqui
y el codigo para sacar los 10 mas votados deve salir de el campo total
pero solo quiero sacr la url para ponerlo en el menu lateral mas votados y tamvien necesitare sacar del mismo tipo los mas jugados creo que necesitare hacer otro campo enla tabla vote, tipo, jugados

y el codigo que me diste Spitfire quedaria asi

<?php 
// conectar con la db
include "";
// seleccionamos la tb
$data = mysql_query("SELECT * FROM mi_tabla ORDER BY votes ASC LIMIT 10") or die(mysql_error());

//pasamos los datos por un bucle while 
while($ratings = mysql_fetch_array( $data )) { 
//Esto genera las url
echo "<ul>"; 
echo "<li>" .$ratings['url']."</li>";
echo "</ul>";
}
?>

tipo1 id ' 1' tipo 2 id '2' etc en la tabla vote un id para cada pagina juego para la votacion
pero necesitaria tamvien sacar el un primer juego id '1'
segundo juego id '2'

de momento no me funciona bien aver si me puedes ayudar
cuando te dije que antes funcionava pero le cambie unas cosas y ya no funciona le cambie unas cosas porque funciona pero no del todo bien todos los juegos y paginas dava los mismos votos el codigo estava siempre en la misma id un saludo
a ver si entiendo:
quieres mostrar una lista con los 10 juegos mas votados y que se muestre su url con un enlace para llevar al visitante a ese juego?
$data =" SELECT * FROM vote ORDER BY votes desc LIMIT 10";// cambie asc por desc para que te muestre primero los que tienen mas votos
$result=mysql_query($data);
//pasamos los datos por un bucle while 
while($ratings = mysql_fetch_object( $result )) { 
$url=$ratings->url;
$tit=$ratings->name;//nombre del juego
$vot=$ratings->votes;//cantidad de votos
//Esto genera las url
echo "<ul>"; 
echo "<li><a href='$url'>$tit ($vot)</a></li>";//tenes que armar esto segun como guardes la url, por ejemplo( archivo.php/juego-de-guerra.html o  www.tusitio.com/archivo.php?id=5 etc...)
echo "</ul>";
}

creo que eso tendria que funcionar
Gracias Spitfire ya solucione casi todo
con esto ya me vale
order by votos desc  LIMIT 10 
un saludo