Clause ORDER BY de PHP MySQL
Ce guide décrit comment sélectionner des données à partir d'une table de base de données MySQL et trier les données par une colonne spécifique dans l'ordre croissant ou décroissant avec la clause ORDER BY en utilisant PHP dans la pile XAMPP.
Prérequis
Pour les besoins de ce guide, j'ai créé une table appelée "sales" dans une base de données MySQL appelée "my_company" avec les enregistrements suivants.
| identifiant | nom | compter |
| 5 | Shampoing | 10 |
| 2 | Lait | 20 |
| 3 | Livres | 14 |
| 4 | Chocos | 45 |
| 6 | Œufs | 12 |
À savoir : Dans XAMPP, les noms de bases de données et de tables ne tiennent pas compte de la casse. Il considérera les lettres majuscules/minuscules comme des minuscules uniquement.
Si vous n'avez pas créé de base de données et de table, référez-vous au guide suivant.
- Créer une base de données et une table MySQL en utilisant PHP dans XAMPP
Qu'est-ce que la clause ORDER BY ?
La clause ORDER BY est utilisée pour trier les données d'une table MySQL par ordre croissant ou décroissant. La clause ORDER BY peut être utilisée avec la déclaration SELECT pour trier les données de colonnes spécifiques de manière ordonnée.
Syntaxe de requête :
SELECT column1,column2,.,column n from table_name ORDER BY column_name asc/desc;Où, le column_name est le nom de la colonne dans laquelle le résultat est ordonné en fonction des valeurs de cette colonne, asc est utilisé pour trier les données par ordre croissant, et desc est utilisé pour trier les données par ordre décroissant.
Par défaut, les données sont triées par ordre croissant lorsqu'aucun argument n'est fourni.
Étapes pour écrire un code PHP
1. Spécifiez le nom du serveur, le nom d'utilisateur, le mot de passe et le nom de la base de données dans votre code PHP.
2. Créez une connexion en utilisant la fonction mysqli_connect().
Code :
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);3. Spécifiez la requête SQL pour sélectionner des enregistrements de colonnes particulières ou de toutes les colonnes dans un ordre à partir de la table. À cette étape, nous pouvons spécifier la requête SQL pour sélectionner des colonnes de la table et les enregistrer dans une variable.
Syntaxe :
$query = "SELECT column1,…. from Sales ORDER BY column_name";4. Stockez les résultats sélectionnés dans une variable appelée "final" en utilisant la fonction mysqli_query().
Syntaxe :
mysqli_query($connection, $query);5. Obtenez les lignes une par une à partir de la variable "final" en utilisant la fonction mysqli_num_rows().
Code :
if (mysqli_num_rows($final) > 0) {
//get the output of each row
while($i = mysqli_fetch_assoc($final)) {
echo $i["column1”],…………..;
}
} else {
echo "No results";
}6. Fermez la connexion.
Enfin, nous devons fermer la connexion en utilisant la fonction mysqli_close().
Syntaxe :
mysqli_close($connection);Passons maintenant à l’écriture du code PHP réel basé sur les étapes ci-dessus.
Sélectionner des données d'une table de base de données MySQL avec la clause ORDER BY en utilisant PHP
Exemple de code 1 :
Le code PHP suivant sélectionnera les colonnes « id » et « name » de la table « sales » et affichera le résultat par ordre croissant de la colonne « name ».
Créez un fichier texte nommé select.php dans le dossier /htdocs avec le contenu suivant.
Attention : Si vous utilisez Linux, le dossier htdocs se trouvera sous le répertoire /opt/lampp/. Si vous êtes sur Windows, le htdocs sera généralement dans le dossier C:xampp.
<?php
//specify the server name
$server_name = "localhost";
//specify the username
$user_name = "root";
//specify the password. Here, we use empty password
$password = "";
//specify the database name
$database_name = "my_company";
// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);
//sql query to select particular columns
//select id and name columns
$query = "SELECT id,name from sales ORDER BY name";
#get the result
$final = mysqli_query($connection, $query);
if (mysqli_num_rows($final) > 0) {
//get the output of each row
while($i = mysqli_fetch_assoc($final)) {
//get id and name columns
echo "id: " . $i["id"]. " ----> name: " . $i["name"]. "<br>";
}
} else {
echo "No results";
}
//close the connection
mysqli_close($connection);
?>Ouvrez votre navigateur web et allez à http://localhost/select.php. Vous verrez une sortie comme celle-ci dans la fenêtre de votre navigateur.
Exemple de code 2 :
Dans cet exemple, nous allons sélectionner les colonnes "id" et "name" de la table "sales" et afficher le résultat en ordre décroissant par la colonne "name".
Le code est exactement le même que ci-dessus. La seule différence est que nous ordonnons les données sélectionnées par ordre décroissant. Il suffit de trouver la ligne suivante dans le code exemple ci-dessus (c'est-à-dire select.php),
$query = "SELECT id,name from sales ORDER BY name";Remplacez-le par :
$query = "SELECT id,name from sales ORDER BY name desc";C'est tout. Ouvrez votre navigateur et rendez-vous à l'URL http://localhost/select.php.
Vous verrez que les données de "name" sont ordonnées par ordre décroissant.
Conclusion
Dans ce tutoriel, nous avons appris comment trier les données d'une table de base de données MySQL par ordre croissant ou décroissant avec la clause ORDER BY en utilisant PHP dans le stack XAMPP.


