Affichage des données d'une table en PHP | Exam-Lib
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
Welcome to our Education website, plz like our page facebook to support us. Thank You and wish you good navigation

Affichage des données d'une table en PHP

abdelouafiOct 4, 2016

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      632
      Likes Received:
      13
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      Dans un premier temps, on va voir comment utiliser le langage SQL pour interroger notre base de données. On suppose que nous avons une base de données qui contient les deux tables suivantes:

      La table liste_proprietaire :
      upload_2018-4-14_11-48-52.png

      La table liste_disque :
      upload_2018-4-14_11-49-38.png

      Nous allons faire une requête sql pour afficher le numéro de téléphone du "Benoît":

      Code:
      SELECT telephone
      FROM liste_proprietaire
      WHERE nom="benoît";
      Etudions cette requête:

      • Premièrement on souhaite sélectionner le téléphone du Benoît, donc on a utilisé l'attribut "telephone"
      • deuxièment on a utilisé la table "liste_proprietaire"
      • par la suite on applique une condition en utilisant la clause "where" sur l'attribut "nom" qui doit être égale à "Benoît", puisqu'on veux afficher le numéro de téléphone de cette personne.
      Maintenant, on peut voir le cas où l'en veux faire une jointure entre deux tables. Interrogeons alors notre base de données pour connaître le nom des propriétaires de l'album Au rêve de Cassius; le code sql est le suivant:

      Code:
      SELECT liste_proprietaire.proprietaire
      FROM liste_proprietaire, liste_disque
      WHERE liste_disque.auteur = "Cassius"
      AND liste_disque.titre = "Au rêve"
      AND liste_proprietaire.numero = liste_disque.numero
      ORDER BY liste_proprietaire.proprietaire ASC;
      Etudions cette requête:

      • on sélectionne l'ttribut "proprietaire" de la table liste_proprietaire.
      • On utilise les tables liste_proprietaire et liste_disque pour faire notre requête.
      • on fait notre recherche si l'auteur est "Cassius", et le titre est "Au rêve".
      • Ensuite (le plus important), on effectue une jointure entre les tables, en disant que l'attribut numero de la table liste_proprietairecorrespond à l'attribut numero de la table liste_disque.
      • Enfin, on impose au SGBD de nous fournir les résultats dans l'ordre alphabétique des noms de propriétaire (et ceci grâce à la clause ORDER BY).
      Remarque:
      On peut sélectionner que les tuples dont l'attribut ne fait que contient une chaîne de caractères. Tout ceci se fera grâce à la clause LIKE. Comme suit:
      Code:
      SELECT liste_proprietaire.proprietaire
      FROM liste_proprietaire, liste_disque
      WHERE liste_disque.auteur LIKE "C%"
      AND liste_disque.titre = "Au rêve"
      AND liste_proprietaire.numero = liste_disque.numero
      ORDER BY liste_proprietaire.proprietaire ASC;

      Code PHP:
      Maintenant, on souhaite faire la sélection du numéro de téléphone de LA GLOBULE. Donc on aura besoin du langage PHP qui va utiliser la requête précédente comme suit:
      Code:
      <?php
      // on se connecte à notre base
      $base = mysql_connect ('serveur', 'login', 'pass');
      mysql_select_db ('ma_base', $base) ;
      ?>
      <html>
      <head>
      <title>Numéro de téléphone de LA GLOBULE</title>
      </head>
      <body>
      <?php
      // lancement de la requete
      $sql = 'SELECT telephone FROM liste_proprietaire WHERE nom = "LA GLOBULE"';
      
      // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      
      // on recupere le resultat sous forme d'un tableau
      $data = mysql_fetch_array($req);
      
      // on libère l'espace mémoire alloué pour cette interrogation de la base
      mysql_free_result ($req);
      mysql_close ();
      ?>
      Le numéro de téléphone de LA GLOBULE est :<br />
      <?php echo $data['telephone']; ?>
      </body>
      </html>

      Ici il faut préciser votre serveur, login et votre mot de passe. Généralement s'il s'agit d'un serveur local on utilise "localhost".

      Le résultat de ce code PHP est le suivant:


      Le numéro de téléphone de LA GLOBULE est :
      06-48-85-20-54


      Supposons maintenant qu'on veux afficher un certain nombre de tuples (nombre que l'on ne connaît pas). En effet, recherchons tous les noms de propriétaires de disque, ainsi que leur numéro de téléphone.
      Le code sera comme suit:

      Code:
      <?php
      // on se connecte à notre base
      $base = mysql_connect ('serveur', 'login', 'pass');
      mysql_select_db ('ma_base', $base) ;
      ?>
      <html>
      <head>
      <title>Nom et tél des membres</title>
      </head>
      <body>
      <?php
      // lancement de la requête (on impose aucune condition puisque l'on désire obtenir la liste complète des propriétaires
      $sql = 'SELECT telephone, nom FROM liste_proprietaire';
      
      // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      
      // on va scanner tous les tuples un par un
      while ($data = mysql_fetch_array($req)) {
          // on affiche les résultats
          echo 'Nom : '.$data['nom'].'<br />';
          echo 'Son tél : '.$data['telephone'].'<br /><br />';
      }
      mysql_free_result ($req);
      mysql_close ();
      ?>
      </body>
      </html>

      Remarque:
      On a utilisé la boucle while pour parcourir tous les tuples obtenus par la requête SQL.

      Integration d'un formulaire dans votre page PHP:

      Imaginons si on veux faire dépendre vos sélections du résultat obtenu par un formulaire. Soit donc une première page (P1) qui contient un formulaire nous permettant de choisir le nom d'un propriétaire via un menu déroulant, puis une deuxième page pour récupérer une variable ce qui a été sélectionné dans le formulaire de la page 1, par exemple $_POST['nom_proprio']. De plus, imaginons que l'on désire retrouver le numéro de téléphone de ce propriétaire (celui choisi dans le menu-déroulant).
      Voic donc le code PHP qui va faire ce travail:

      Code:
      <?php
      // on se connecte à notre base
      $base = mysql_connect ('serveur', 'login', 'pass');
      mysql_select_db ('ma_base', $base) ;
      ?>
      <html>
      <head>
      <title>Numéro de téléphone du membre choisi</title>
      </head>
      <body>
      <?php
      // on teste si notre variable est déclarée
      if (isset($_POST['nom_proprio'])) {
      
          // lancement de la requête
          $sql = 'SELECT telephone FROM liste_proprietaire WHERE nom = "'.$_POST['nom_proprio'].'"';
      
          // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
          $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      
          // on récupère le résultat sous forme d'un tableau
          $data = mysql_fetch_array($req);
      
          // on libère l'espace mémoire alloué pour cette interrogation de la base
          mysql_free_result ($req);
          mysql_close ();
      
      // on affiche le résultat
          echo 'Le numéro de téléphone est : '.$data['telephone'];
      }
      else {
          echo 'La variable nom_proprio n\'est pas déclarée';
      }
      ?>
      </body>
      </html>


      Exemple pratique 1: Affichage des données en PHP 4:

      [CODE]<?php
      header("Content-Type:text/html;charset=ISO-8859-1");
      $str=$_POST["str"];
      mysql_connect("localhost","root","");
      mysql_select_db("ensa");
      $res=mysql_query("select * from inscription where nom like '$str%'");
      while($tab=mysql_fetch_array($res)){
      $id=$tab["id"];
      $date=$tab["date"];
      $nom=$tab["nom"];
      $prenom=$tab["prenom"];
      echo "$id - $date - $nom - $prenom <br>";
      }
      ?>[/CODE]

      Exemple 2: Insertion dans une tables en PHP 4

      Code:
      <?php
      header("Content-Type:text/html;charset=ISO-8859-1");
      $a=$_POST["a"];
      $b=$_POST["b"];
      mysql_connect("localhost","root","");
      mysql_select_db("ensa");
      mysql_query("insert into inscription (nom,prenom) values('$a','$b')");
      
      mysql_connect("localhost","root","");
      mysql_select_db("ensa");
      $req=mysql_query("select * from inscription");
      while($tab=mysql_fetch_array($req)){
      $id=$tab["id"];
      $date=$tab["date"];
      $nom=$tab["nom"];
      $prenom=$tab["prenom"];
      echo "$id - $date - $nom - $prenom <br>";
      }
      ?>
       
      Last edited: Apr 14, 2018
      Loading...

Share This Page

Share