Para seleccionar datos aleatoriamente tenemos que tener en cuenta la normalización de SQL y que posiblemente no todas apliquen a algunos gestores de bases de datos.
En primera debemos tener en claro una simple sentencia en SQL para seleccionar datos.
SELECT * FROM `tabla` ORDER BY `campo` DESC LIMIT 0,10 |
Con esta sentencia en sql lo que estamos haciendo es seleccionar los datos de la tabla, que los ordene dependiendo del tipo campo y que tenga un límite de 10 campos. Es así como funciona una sentencia común en SQL.
Para obtener registros aleatorios o azarosos de una tabla se requiere tener la siguiente sentencia:
SELECT * FROM `tabla` ORDER BY RAND() DESC LIMIT 0,10 |
Al igual nos mostrará 10 campos pero estos de manera aleatoria y de límite 10, esto es muy eficiente para hacer más dinámico nuestro sitio web y de más vistosidad y facilidad de acceso a la información.
Para unir esta sentencia con PHP para mostrar los resultados analicemos el siguiente código.
<? ## nos conectamos a mysql include(«conexion.php»); ## Tomamos los datos aleatorios de la tabla $query = mysql_query(«SELECT * FROM `tabla` ORDER BY RAND() LIMIT 0, 10»); ## creamos un bucle para que nos muestre los resultados while ($campo = mysql_fetch_array($query)){ echo $campo[«campo»]; } ## liberamos memoria de la sentencia mysql_free_result($query); ## finalizamos conexión mysql_close(); ?> |
El código PHP anterior nos muestra por pasos lo que se requiere para seleccionar los datos al azar, existen algunos artículos referidos en la cual este artículo depende. Entre ellos puedes visitar: «Conexión a MySQL», «Alternar filas de color con PHP», entre otros más asesores. También puedes visitar el manual de PHP.net de Funciones MySQL.