Magazine Internet

Cours PHP : Requêtes SQL

Publié le 05 septembre 2007 par Avi Teboul

Je reviens un peu tardivement sur la suite des cours PHP ...
Les requêtes sql permettent essentiellement de récupérer, de modifier, ou  de supprimer les données contenues dans votre bdd. Avant de pouvoir exécuter une requête il faut se connecter a la base de données comme le montre le chapitre précédent ... Commençons par voir a quoi ressemble une requête SQL simple qui affiche des numéros contenue dans une table de ma base de données.


<?php
// on recupere le fichier config.php qui contient nos variables de connexion
include ("config.php");
// on se connecte a la base de donnée
mysql_connect($host,$login,$password)  or die(mysql_error()); 
mysql_select_db($base);
// on lance la requête sql
//==================================================
//==== Requete de selection bdd ====================
//==================================================
  $req = "SELECT num FROM table1 ORDER BY id DESC LIMIT 10";
  $res = mysql_query($req) or die(mysql_error());
  if (mysql_num_rows($res) == 0){ 
echo 'on affichage un message si il y a aucun resultats
  ';}
  while($A = mysql_fetch_array($res)) {
echo 'Affichage des resultats si il y en a ';
  }
//on referme la base de données
mysql_close();
?>


Expliquons donc cette requête mot par mot:
$req contient la requête mysql_query est une commande qui permet d'executer la requête
SELECT num FROM table1 : on sélectionne le champs num dans la table1
ORDER BY id DESC on trie les données par ordre croissant
LIMIT 10 on limite l'affichage aux 10 premiers résultats
$A contient l'exécution de la requête
mysql_fetch_array ("$sql"); on exécute la requête qui est contenue dans la variable sql ($sql)
A ce niveau on a simplement lancer la requête, on l'a exécuter mais elle n'affiche rien voyons comment afficher le résultat de cette requête.

<?php
// on recupere le fichier config.php qui contient nos variables de connexion
include ("config.php");
// on se connecte a la base de donnée
mysql_connect($host,$login,$password)  or die(mysql_error()); 
mysql_select_db($base);
// on lance la requête sql
//==================================================
//==== Requete de selection bdd ====================
//==================================================
  $req = "SELECT num FROM table1 ORDER BY id DESC LIMIT 10";
  $res = mysql_query($req) or die(mysql_error());
  if (mysql_num_rows($res) == 0){ 
echo 'on affichage un message si il y a aucun resultats';
  }
  while($A = mysql_fetch_array($res)) {
echo 'Affichage des resultats si il y en a ';
  }
// on affiche les resulat de num avec un saut de ligne
echo $A['num']."<br>"; 
//on referme la base de données
mysql_close();
?>


$A[num] correspond au résultat de la requête dans le champs num, on utilise un simple echo() pour l'afficher ...

Retour à La Une de Logo Paperblog

A propos de l’auteur


Avi Teboul 600 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte