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
    0
    1. Si c'est la même chose avec PDO
      0
      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.
        0