Médiaforma

PHP MySQL – Exercice sur la création de tables

Print Friendly

A l’aide d’instructions PHP, définissez :

  • La base de données basephp
  • La table tablephp, composée des champs suivants :
    • id de type entier autoincrémenté non nul, utilisé comme index de la table ;
    • nom de type varchar(50) ;
    • prenom de type varchar(50) ;
    • compteurvisite de type smallint ;
    • dernierevisite de type timestamp.

Ajoutez les données suivantes dans la table :

Pierre, Dubur, 34, NOW()
Chantal, Garnier, 128, NOW()
Jean, Dupont, 2, NOW()
Belle, Vercor, 45, NOW()

Affichez le contenu de la table pour confirmer que tout s’est bien passé.

Solution

Faites une pause dans la vidéo et effectuez les actions demandées dans l’exercice. Vous pourrez reprendre le visionnage de la vidéo pour avoir des détails sur le code mis en œuvre.

Voici le code utilisé :

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Création d'une base de données, t'une table et d'enregistrements dans la table</title>
    <style>
      td { padding-right: 30px;}
    </style>
  </head>
  <body>
    <?php
      // Création de la base de données
      try {
        $base = new PDO('mysql:host=localhost', 'root', '');
      }
      catch(exception $e) {
        die('Erreur '.$e->getMessage());
      }
      $base->exec("CREATE DATABASE basephp DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci");
      $base = null;

      // Création de la table
      try {
        $base = new PDO('mysql:host=localhost; dbname=basephp', 'root', '');
      }
      catch(exception $e) {
        die('Erreur '.$e->getMessage());
      }
      $base->exec("CREATE TABLE tablephp(id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), prenom varchar(50), nom varchar(50), compteurvisite smallint, dernierevisite timestamp)");

      // Ajout de données dans la table
      $base->exec("INSERT INTO tablephp(prenom, nom, compteurvisite, dernierevisite) VALUE('Pierre', 'Dubur', 34, NOW())");
      $base->exec("INSERT INTO tablephp(prenom, nom, compteurvisite, dernierevisite) VALUE('Chantal', 'Garnier', 128, NOW())");
      $base->exec("INSERT INTO tablephp(prenom, nom, compteurvisite, dernierevisite) VALUE('Jean', 'Dupont', 2, NOW())");
      $base->exec("INSERT INTO tablephp(prenom, nom, compteurvisite, dernierevisite) VALUE('Belle', 'Vercor', 45, NOW())");

        $retour = $base->query('SELECT * FROM tablephp');
      echo "<table>";
      while ($data = $retour->fetch()){
        echo "<tr><td>".$data['prenom']."</td>";
        echo "<td>".$data['nom']."</td>";
        echo "<td>".$data['compteurvisite']."</td>";
        echo "<td>".$data['dernierevisite']."</td>";
      }
      echo "</table>";
      $base = null;
    ?>
  </body>
</html>

Le code commence par la définition d’une instance de la classe PDO.

La méthode exec est alors exécutée pour créer la base de données basephp.

La base de données basephp est alors fermée en affectant la valeur null à son handle.

L’instruction suivante ouvre la base de données basephp.

SI tout s’est bien passé, la méthode exec est utilisée pour créer la table tablephp.

Le bloc d’instructions suivant ajoute des données dans la table tablephp.

Il ne reste plus qu’à afficher le contenu de la table tablephp. Pour cela, nous lançons une requête sur la table tablephp et nous affichons son contenu à l’aide d’une boucle while.

Enfin, la base de données est fermée en en affectant la valeur null à son handle.

Exécutons ce code dans WAMP Server.

La base de données basephp est créée. La table tablephp est créée. Des données y sont mémorisées puis son contenu est affiché.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply