Accueil - Actualité - Annuaire - Forum - Lexique - Partenaires
10 visiteurs




357 tutoriels
172 membres
2 commentaires tutoriels
30 signatures
5 sites
0 site en attente
147 définitions
147 actualités
0 commentaire actualités
96 messages sur le forum
6 sondages
11 commentaires sondage
Les critères de sélection en SQL

Dans le dernier cours, nous avons vu comment sélectionner des données dans une base de données grâce à la commande SELECT. L'inconvénient du SELECT c'est qu'il sélectionne tous les champs de la base. On ne peut pas faire de tri par exemple.

Pour vous améliorer dans la création de table, vous pouvez importer la table suivante : table livre. A partir de ce moment, nous allons créer des requêtes avec cette table.

Comment faire pour afficher, par exemple, seulement les titres des livres dont l'auteur est Agatha Christie, il faut utiliser pour cela des critères de sélection comme WHERE, ORDER BY ou COUNT :

Le critère WHERE :

Grâce au critère WHERE, vous allez pouvoir trier vos données. Reprenons l'exemple précédent, et affichons les titres de livre dont l'auteur est Agatha Christie :

SELECT * FROM livre WHERE Auteur='Agatha Christie'"
 

Si on traduit en bon français cela signifie sélectionne moi les livres dont l'auteur est Agatha Christie. Essayez le code suivant pour voir ce que cela donne :

<?php
 mysql_connect("localhost", "root", ""); // Connesion à la base de données
 mysql_select_db("toto"); // Sélection de la base de données

 $reponse = mysql_query ("SELECT * FROM livre WHERE Auteur='Agatha Christie' "); // Requête SQL
 
 while ($donnees = mysql_fetch_array($reponse)) // On boucle pour afficher toutes les données
 {
?>
 <p>
  Titre : <?php echo $donnees['titre'];?> - <!-- Affichage des titres des livres-->
  Prix : <?php echo $donnees['prix'];?>
<!-- Affichage du prix des livres -->
 </p> 
<?php
 }
 mysql_close()// On oubli pas de déconnecter la base de données
?>
 

 

<?php
 mysql_connect("localhost", "root", ""); // Connesion à la base de données
 mysql_select_db("toto"); // Sélection de la base de données

 $reponse = mysql_query ("SELECT * FROM livre WHERE ORDER BY Titre DESC"); // Requête SQL
 
 while ($donnees = mysql_fetch_array($reponse)) // On boucle pour afficher toutes les données
 {
?>
 <p>
  Titre : <?php echo $donnees['titre'];?>  <!-- Affichage des titres des livres-->

 </p> 
<?php
 }
 mysql_close()// On oubli pas de déconnecter la base de données
?>
 

 

 

 

Vous pouvez vous amuser à changer le nom de l'auteur si vous le souhaitez. Vous pouvez aussi mettre 2 conditions si vous le souhaitez. Par exemple, afficher tous les livres dont l'auteur est Agatha Christie et dont le prix est supérieur à 40 €. Vous devriez avoir une requête SQL de ce style :

SELECT * FROM livre WHERE Auteur='Agatha Christie' AND prix > 40"

Le critère ORDER BY :

Le critère ORDER BY permet de trier les résultats par ordre croissant ou décroissant. Dans l'exemple suivant, nous allons trier les livres par titre par ordre inverse alphabétique :

SELECT * FROM livre ORDER BY Titre DESC 
 

Si vous voulez classer vos livre par ordre alphabétique, enlevez DESC. Vous pouvez ajouter le mot clé ASC à la place de DESC. Et voici le code qui va avec :

 

Compter le nombre d'entrées dans la table :

Pour différentes raisons, il peut être utile de compter le nombre d'enregistrement dans la table. Comme vous vous en doutez, nous allons compter avec le langage SQL. La commande que l'on va utiliser est COUNT.

<?php
 mysql_connect("localhost", "root", ""); // Connesion à la base de données
 mysql_select_db("toto"); // Sélection de la base de données

 $reponse = mysql_query ("SELECT COUNT(*) FROM livre"); // Requête SQL
 $donnees = mysql_fetch_row($reponse); 
 echo $donnees[0]. " livres dans la base de données";
 
 mysql_close()// On oubli pas de déconnecter la base de données
?>
 

 

 

Ici, j'ai utilisé une nouvelle fonction nommée mysql_fetch_row et qui affiche le nombre de réponse transmise par la variable $reponse. Ensuite, on affiche le nombre d'enregistrement de la table grâce à la commande echo.

N'oubliez pas que vous pouvez rajouter des critères comme WHERE ou ORDER BY.

Faire un lien vers ce tutoriel
Si vous souhaitez faire un lien de ce tutoriel vers votre site, utilisez le code html suivant :
<a href="http://www.helpclic.net/tutoriaux/tutoriel-343-Les-critères-de-sélection-en-SQL.html" title="Les critères de sélection en SQL">Les critères de sélection en SQL</a>

Copyright © HELPCLIC.NET | Tutoriaux et cours informatique en ligne. Apprenez facilement l'informatique avec Helpclic