41Mag - Liste des requêtes PHP / MySQL les plus utilisées

Liste des requêtes PHP / MySQL les plus utilisées

Retrouvez les requêtes les plus utilisées pour gérer une base de donnés MySQL. Créer une table, ajouter des données, trier des données, ordonnés les résultats, sélectionner, compter, modifier des données, supprimer des données, etc …

Dans ce cours, nous verrons comment comment exploiter au maximum vos bases de données MySQL à l’aide de requêtes simples. Des notions de PHP seront obligatoires pour la compréhension de ce tutoriel.

Nous aborderons pour commencer la syntaxe PHP pour se connecter à une base de données, puis nous créerons une base données pour enfin exploiter ces différentes fonctions (ajouter des données, trier, ranger, sélectionner, compter, supprimer et modifier des données).

Voici les différents themes abordes dans ce tutoriel :

  • Création d’un basee de données
  • Connexion en PHP à une base de données
  • INSERT INTO : Ajouter des données
  • Affichage du contenue d’une base de données
  • UPDATE : Modifier des données
  • DELETE : Supprimer des données
  • WHERE : Trier les données
  • ORDER BY : Ordonner les données
  • LIMIT : Sélectionner une partie des données
  • Condition multiple dans l’affichage des données
  • COUNT : Calculer le nombre de données

Création d’une base de données

Pour l’intégralité de ce tutoriel, nous utiliserons une base de données. Nous prendrons l’exemple d’un magasin en ligne en créant une base de données simple. Elle contiendra plusieurs champs :

ID : Ce champ est obligatoire pour la physionomie de nos recherches
ARTICLES : Nom de l’articles
PRIX : Prix de l’article
QUANTITÉ : Nombre de modele en stock
DESCRIPTION : Description de l’article

Pour créer la table (dans votre base de données) que nous appellerons STOCK, nous utiliserons la syntaxe suivante :

1
2
3
4
5
6
7
8
CREATE TABLE `Nom_de_la_base`.`stock` (
`id` SMALLINT NOT NULL AUTO_INCREMENT ,
`articles` TINYTEXT NOT NULL ,
`prix` TINYINT NOT NULL ,
`quantite` TINYINT NOT NULL ,
`description` MEDIUMTEXT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = InnoDB

Connexion à la base de données

Le langage PHP permet de se connecter à une base de données. Nous utiliserons les 3 fonctions suivantes :

mysql_connect : Connexion à la BDD, « nom_de_lhote », « login » et « mot_2_passe » en parametre
mysql_select_db : Selection de la BDD , « nom_de_la_base » en parametre
mysql_close : Déconnexion de la BDD à la fin du script

1
2
3
4
5
6
<?php
mysql_connect("nom_de_lhote", "login", "mot_2_passe");
mysql_select_db ("nom_de_la_base");
//script pour travailler sur la base de données  
mysql_close();
?>

Si vous utilisez WAMPSERVER – ou similaire – et que vous travailler en Localhost (sur votre machine), utiliser le script suivant pour vous connecter à la tabkle STOCK :

1
2
3
4
5
6
<?php
mysql_connect("localhost", "root", "");
mysql_select_db ("nom_de_la_base");
//script pour travailler sur la base de données  
mysql_close();
?>

Ajouter des données dans la table

Pour ajouter des données, nous utiliserons de nouveau le PHP pour interagir avec la BDD. La fonction mysql_query permet de définir une requête. Dans l’exemple ci-dessous, la requête consistera à ajouter des données à notre table.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
mysql_connect("localhost", "root", "");
mysql_select_db ("nom_de_la_base");
 
mysql_query("INSERT INTO stock VALUES('','Chaussure','40','5','Chaussure de foot a crampons')");
mysql_query("INSERT INTO stock VALUES('','Chaussette','10','5','Chaussette de foot')");
mysql_query("INSERT INTO stock VALUES('','Short','20','5','Short de foot')");
mysql_query("INSERT INTO stock VALUES('','Maillot','35','10','Maillot de foot')");
mysql_query("INSERT INTO stock VALUES('','Ballon','15','15','Ballon deja gonflé')");
 
echo "<p>Nous avons ajouter 5 articles</p>";
 
mysql_close();
?>

Nous avons donc ajouter 5 articles a notre base de données. Le premier champ d’insertion entre ‘ ‘ est laisser vide car le champ ID de notre table est en auto-incrémentation. Comprenez que le chiffre est égale à x+1, ou x est le champ précédent.

Affichage du contenue de la base de données

Apres avoir ajouter ces 5 articles, nous souhaitons les afficher. Pour ce faire nous allons faire une boucle qui se traduit par Tant que la BDD envoie une reponse, afficher cette reponse. Nous utiliserons la fonction mysql_fetch_array qui initialisera une variable sous forme d’array.

Pour afficher l’integralite de la BDD, la requete devra le specifier. En MySQL, nous utiliserons SELECT *. L’etoile signifiant TOUT.

1
$reponse=mysql_query("SELECT * FROM stock");

Il ne nous reste plus qu’à faire cette fameuse boucle avec WHILE en PHP se traduisant par tant que pour tout afficher :

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
mysql_connect("localhost", "root", "");
mysql_select_db ("nom_de_la_base");
 
$reponse=mysql_query("SELECT * FROM stock");
while($donnees = mysql_fetch_array($reponse))
  {
    echo "Article : ".$donnees['article']." ; Prix : ".$donnees['prix']." ;  Quantite : ".$donnees['quantite']." ; Description : ".$donnees['description']."<br />";
  }
 
mysql_close();
 
 ?>

Le script ci-dessus permet de lister tous les articles enregistrés dans la BDD. La balise
permet de mettre chaque article sur une seule ligne.

Modifier des données

Vous pouvez également modifier des données dans votre table. Imaginez que les chaussure que vous vendiez à 40 euros vous souahitez les vendre 35 euros. Pour modifier le prix, nous allons devoir indiquez quel champ modifier. Utiliser la syntaxe suivante :

1
UPDATE nom_de_la_table SET prix="35" WHERE article="chaussure"

Ce qui donnerais pour notre exemple :

1
2
3
4
5
6
7
8
9
10
<?php
mysql_connect("localhost", "root", "");
mysql_select_db ("nom_de_la_base");
 
mysql_query("UPDATE stock SET prix='35' WHERE articles='chaussure'");
echo "le prix des chaussure a ete changer";
 
mysql_close();
 
 ?>

Supprimer des données

Dans cet exemple, nous allons supprimer une donnée. Pour reprendre notre exemple de boutique en ligne,imaginez que vous ne souhaitez plus vendre de short, il faut donc les retirer de la BDD stock. Pour ce faire nous utiliserons DELETE dans la syntaxe suivante :

1
DELETE FROM nom_de_la_table WHERE articles="short"

Ce qui donnerais pour notre exemple :

1
2
3
4
5
6
7
8
9
10
 <?php
mysql_connect("localhost", "root", "");
mysql_select_db ("nom_de_la_base");
 
mysql_query("DELETE FROM stock WHERE articles='short'");
echo "les short ont ete supprimer";
 
mysql_close();
 
 ?>

Trier les données

Nous avons vu plu haut comment afficher les données d’une table (appartenant à une base de données). L’inconvénient venait du fait que nous avons afficher le contenue entier de la table. Cette fois nous sélectionnerons, ou trierons, les données à afficher. Nous utiliserons la commande WHERE.

Dans le script ci-dessous, nous souhaitons uniquement afficher les articles avec un prix inferieur à 30 euros (seuls les chaussettes et le ballons devront donc s’afficher car leur prix est inferieur à 30 euros) :

1
2
3
4
5
6
7
8
9
10
11
12
13
 <?php
mysql_connect("localhost", "root", "");
mysql_select_db ("nom_de_la_base");
 
$reponse=mysql_query("SELECT * FROM stock WHERE prix < 30");
while($donnees = mysql_fetch_array($reponse))
  {
    echo "Article : ".$donnees['article']." ; Prix : ".$donnees['prix']." ;  Quantite : ".$donnees['quantite']." ; Description : ".$donnees['description']."<br>";
  }
 
mysql_close();
 
 ?>

Ordonner les résultats

Dans le même d’esprit que l’exemple précédent, nous allons ordonner les résultats par prix croissant par exemple. Pour ce faire, nous utiliserons la commande ORDER BY.

Pour un affichage des prix dans l’ordre croissant, utiliser la syntaxe suivante :

1
2
// Afficher tous les resultats par ordre croissant  
SELECT * FROM stock ORDER BY prix

Pour un affichage des prix dans l’ordre décroissant, utiliser la syntaxe suivante :

1
2
// Afficher tous les resultats par ordre décroissant  
SELECT * FROM stock ORDER BY prix DESC

En reprenant les exemples précedent, pour afficher tous les articles de notre boutique classé dans l’ordre croissant de leur prix :

1
2
3
4
5
6
7
8
9
10
11
12
13
 <?php
mysql_connect("localhost", "root", "");
mysql_select_db ("nom_de_la_base");
 
$reponse=mysql_query("SELECT * FROM stock ORDER BY prix");
while($donnees = mysql_fetch_array($reponse))
  {
    echo "Article : ".$donnees['article']." ; Prix : ".$donnees['prix']." ;  Quantite : ".$donnees['quantite']." ; Description : ".$donnees['description']."<br>";
  }
 
mysql_close();
 
 ?>

Limiter le nombre de résultats

Vous pouvez également limiter le nombre de résultats de vos requêtes. Pour continuer avec notre exemple de notre boutique en ligne, imaginez que vous souhaiter afficher uniquement les nouveaux articles. Nous utiliserons la commande LIMIT pour n’afficher que les dernières entrées dans votre table.

Notre base de données d’exemple ne contient que 5 entrées. Pour n’afficher que les deux dernières, qui sont le ballon et le maillot nous utiliserons la syntaxe suivante :

1
2
// Afficher les deux dernieres entrées  
SELECT * FROM stock ORDER BY id DESC LIMIT 0,2

Nous avons donc sélectionné toute les données classé dans l’ordre décroissant ou nous n’afficherons que les deux dernière entrées.

Pour afficher les deux derniéres entrées, veuillez utiliser le script suivant :

1
2
3
4
5
6
7
8
9
10
11
12
13
 <?php
mysql_connect("localhost", "root", "");
mysql_select_db ("nom_de_la_base");
 
$reponse=mysql_query("SELECT * FROM stock ORDER BY id DESC LIMIT 0,2");
while($donnees = mysql_fetch_array($reponse))
  {
    echo "Article : ".$donnees['article']." ; Prix : ".$donnees['prix']." ;  Quantite : ".$donnees['quantite']." ; Description : ".$donnees['description']."<br>";
  }
 
mysql_close();
 
 ?>

Utiliser plusieurs conditions

Comme vous l’imaginez vous pouvez utiliser plusieurs conditions dans une seule et même requêtes. Le seul problème sera d’utiliser les différentes conditions dans le bon ordre.

Il faut utiliser les différentes commandes dans l’ordre suivant :
WHERE puis ORDER BY puis LIMIT, sinon MySQL ne comprendra pas votre requêtes.

Imaginez que dans votre boutique en ligne il y a plusieur type de chaussure … Mais vous ne souhaitez afficher uniquement les 10 premieres chaussure avec un prix inferieur à 50 euros :

1
SELECT chaussure FROM stock WHERE prix < 50 ORDER BY prix LIMIT 0,10

Compter le nombre d’entrées d’une table MySQL

Pour clore ce chapitre, nous allons compter le nombre d’entrée que notre table contient. Pour ce faire, nous tuiliserons la commande COUNT.

1
SELECT COUNT(*) AS nbombre_entrees FROM stock

Le script suivant affichera le nombre d’entree que notre table possede. Théhoriquement le script dois afficher 5 :

1
2
3
4
5
6
7
8
9
10
11
12
<?php
mysql_connect("localhost", "root", "");
mysql_select_db ("nom_de_la_base");
 
$reponse = mysql_query("SELECT COUNT(*) AS nombre_entree FROM stock");
$donnees = mysql_fetch_array($reponse);
 
  echo "il y a ".$donnees['nombre_entree']." dans la table 'stock'";
 
mysql_close();
 
 ?>

Article du même thême :

Copyright © 2013 | 41Mag. All rights reserved. Contact.
Integrated by Créa-troyes. Powered by WordPress.