Script PHP : Model MVC

Bonjour à tous

Je veux réaliser un script PHP qui séléctionne la liste de tous mes enregistrements dans la table personnes MYSQL, selon le modele MVC, mais je n'arrive pas à compliter mon script, si qlq peut m'aider s'il vouplez.

Script du Model est :

function recuperer_personnes() {

$pdo = PDO2::getInstance(); // Connexion à la BD
$requete = $pdo->prepare("SELECT * FROM personnes");
$requete->execute();

/*
Quel script j'ajoute ici pour retourner tous mes enregistrements dans une variable globale $personnes avant la closecursor ?
*/

$requete->closeCursor();

return $personnes;
}

comme faire programmer la vue ?

Merci à l'avance !

3 réponses

  1. Salut,

    en sql, il faut utiliser la commande suivante :

    $personnes = mysql_fetch_array($requete)

    Maintenant pour PDO, je ne connais pas les fonctions.

    Cordialement
    Exileur
    1. salut Exileur et Anoen

      $personnes = mysql_fetch_array($requete) ,: ça marche pas

      Erreur : Warning: mysql_fetch_array() expects parameter 1 to be resource, object given in C:\...

      Mais J'ai résolu le problème avec : fetchAll(), voila mon script maintenant :

      1. Script Model :

      function recuperer_personnes() {

      $pdo = PDO2::getInstance();
      $requete = $pdo->prepare("SELECT * FROM personnes");
      $requete->execute();
      $personnes= $requete->fetchAll();
      $requete->closeCursor();
      return $personnes;
      }

      2. Script Contrôleur:

      <?php
      include_once('modeles/recuperer_personnes.php');

      $personnes= recuperer_personnes();

      foreach($personnes as $personne)
      {
      $personne['code_per'] = htmlspecialchars($personne['code_per']);
      $personne['nom_per'] = htmlspecialchars($personne['nom_per']);
      $personne['adress_per'] = htmlspecialchars($personne['adress_per']);
      }

      include_once('modules/vues/index.php');

      3. Script Vue

      <?php foreach($personnes as $personne)
      {
      ?>
      <?php echo htmlentities($personne['code_per']); ?>
      <?php echo htmlentities($personne['nom_per']); ?>
      <?php echo htmlentities($personne['adress_per']); ?>

      <?php
      }
      ?>

      MAIS, il Reste Une petite question très IMPORTANTE :

      LA FONCTION FetchALL() : n'alourdit pas la mémoire vivre, Car cette fonction retourne un tableau contenant toutes les lignes !

      Merci à l'avance.