Hemos visto SQL SELECCIONE comando para recuperar datos de la tabla MySQLi. Cuando selecciona filas, el servidor MySQLi puede devolverlas en cualquier orden, a menos que especifique lo contrario especificando cómo ordenar el resultado. Pero ordena el conjunto de resultados agregando una cláusula ORDER BY que nombra la columna o columnas por las que desea ordenar.
Aquí está la sintaxis SQL general del comando SELECT junto con la cláusula ORDER BY para ordenar los datos de una tabla MySQL:
SELECT field1, field2,...fieldN table_name1, table_name2... ORDER BY field1, [field2...] [ASC [DESC]]
Puede ordenar el resultado devuelto por cualquier campo, siempre que este campo esté especificado en la lista.
Puede ordenar el resultado por más de un campo.
Puede utilizar la palabra clave ASC o DESC para obtener el resultado en orden ascendente o descendente. De forma predeterminada, este es el orden ascendente.
Puede utilizar la cláusula WHERE… LIKE de la forma habitual para establecer una condición.
Esto usará una instrucción SELECT de SQL con una cláusula ORDER BY para recuperar datos de la tabel tutorials_inf de MySQLi.
Pruebe el siguiente ejemplo, que devuelve el resultado en orden descendente.
[email protected]# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> SELECT * from tutorials_inf ORDER BY id desc; +----+-------+ | id | name | +----+-------+ | 4 | ram | | 3 | raghu | | 2 | johar | | 1 | sai | +----+-------+ 4 rows in set (0.00 sec) mysql>
Asegúrese de que todos los ID estén enumerados en orden descendente.
Puede usar una sintaxis similar para la cláusula ORDER BY en una función PHP. mysqli_query ()… Esta función se utiliza para ejecutar un comando SQL y luego otra función PHP. mysqli_fetch_array () se puede utilizar para obtener todos los datos seleccionados.
Pruebe el siguiente ejemplo, que devuelve el resultado en orden descendente del autor del tutorial.
<?php $dbhost="localhost:3306"; $dbuser="root"; $dbpass=""; $dbname="TUTORIALS"; $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname); if(! $conn ) { die('Could not connect: '. mysqli_error()); } echo 'Connected successfully</br>'; $sql="SELECT * from tutorials_inf ORDER BY id desc"; if($result = mysqli_query($conn, $sql)){ if(mysqli_num_rows($result) > 0){ echo "<table>"; echo "<tr>"; echo "<th>id</th>"; echo "<th>name</th>"; echo "</tr>"; while($row = mysqli_fetch_array($result)){ echo "<tr>"; echo "<td>". $row['id']. "</td>"; echo "<td>". $row['name']. "</td>"; echo "</tr>"; } echo "</table>"; mysqli_free_result($result); } else { echo "No records matching your query were found."; } } else { echo "ERROR: Could not able to execute $sql. ". mysqli_error($conn); } mysqli_close($conn); ?>
La salida de muestra debería ser así:
Connected successfully id name 4 ram 3 raghu 2 johar 1 sai
🚫