article(s) dans votre panier VOIR

Tuto PHP/MySQL | Modèle

  • Vidéo 152 sur 158
  • 4h43 de formation
  • 158 leçons

Un contenu flash devrait s'afficher ici. Votre navigateur ne comporte pas de plugin flash, ou il ne s'est pas correctement initialisé.

Vous pouvez télécharger le plugin flash depuis le site d'Adobe à l'adresse suivante : http://get.adobe.com/flashplayer/.

Pour accéder à la suite de cette formation, vous devez vous abonner.
previous
summary
resume
next
play
Modèle
00:00 / 01:36
HD
fullscreen
Je m’abonne
à partir de 16,6 € / mois
  • Visionnage en ligne
  • Accès illimité à toutes nos formations
OU
J'achète uniquement
la formation
49,90€
  • Téléchargement + VOD à vie
  • Accès uniquement à cette formation

Sommaire de la formation

Détails de la formation

La partie modèle du projet va récupérer les données dans la base de données MySQL et les retourner au contrôleur. Définissez le fichier trier.php dans le dossier MVC\modèle et insérez les instructions suivantes dans ce fichier.

<?php

  function trier($champ) {

    $nomchamp=array("OrderID", "Customer", "Employee", "OrderDate", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipPostalCode", "ShipCountry");

    try {

      $base = new PDO('mysql:host=localhost; dbname=northwind', 'root', '');

    }  

    catch(exception $e) {

      die('Erreur '.$e->getMessage());

    }  

    $base->exec("SET CHARACTER SET utf8");

    $retour = $base->query("SELECT * FROM orders ORDER BY ".$nomchamp);

    $data = $retour->fetchAll();

    return $data;

  }

?>

Comme vous pouvez le voir, le fichier trier.php contient une seule fonction nommée trier(). Cette fonction admet un paramètre : l'index du champ sur lequel les données doivent être triées.

Le code est extrêmement simple. 

Dans un premier temps, on définit le tableau $nomchamp qui contient le nom des champs de la table orders. Cette étape est nécessaire, car il faudra spécifier le nom du champ selon lequel les données doivent être triées dans la requête SQL.

Le code définit alors un accès PDO à la base de données northwind :

$base = new PDO('mysql:host=localhost; dbname=northwind', 'root', '');

Les données sont lues selon l'encodage UTF-8 :

$base->exec("SET CHARACTER SET utf8");

La requête SQL obtient toutes les données de la table orders, classées selon le champ passé en paramètre de la fonction :

$retour = $base->query("SELECT * FROM orders ORDER BY ".$nomchamp);

Le résultat de la requête est stocké dans le tableau $data et retourné à l'appelant :

$data = $retour->fetchAll();

 

return $data;