hola,tengo un problema la ordenar los registros
<? include ("config.php");
$sql = "select * from pelis order by vistas desc LIMIT 10";
//Instrucción a ejecutarse en la bbdd.
$squery = mysql_query($sql);
//Ejecución de la instrucción
while($row = mysql_fetch_array($squery)){
$nombre = $row['nombre'];
$id = $row['id'];
//Recuperar los datos de un registro o hilera (row) y meterlo a un array
echo "<li><a href='pelicula.php?id=$id'>".$nombre."</a></li>"; }
?>
como aparece en el código quiero que se ordenen por "vistas",hasta aquí bien,resulta que los videos se ordenan de mas a menos vistas cuando tienen de 0 a 10 vistas,cuando llegan a 10 desaparecen de la lista y siguen las películas siguientes que tengan menos de 10 visualizaciones,porque pasa esto? que estoy haciendo mal? puede ser que he creado mal mi tabla mysql? gracias.
Buenas, creo que estas haciendo todo bien xD... Muestra la tabla pelis....
(http://img812.imageshack.us/img812/4082/tablamysql.jpg)
has probado a ejecutar la consulta desde MySQL para ver si el resultado es el mismo que desde PHP?
El problema está en el tipo de datos del campo vista que es de tipo TEXT, por lo que lo ordena alfabeticamente por caracteres. Cambia el tipo de datos a INT(11) y funcionará perfectamente.
Cita de: Franki en 2 Septiembre 2010, 10:46 AM
El problema está en el tipo de datos del campo vista que es de tipo TEXT, por lo que lo ordena alfabeticamente por caracteres. Cambia el tipo de datos a INT(11) y funcionará perfectamente.
exacto gracias Franki ;-)
De nada ;)