Script PHP : Model MVC

artcompus Messages postés 67 Statut Membre -  
artcompus Messages postés 67 Statut Membre -
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. Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   150
     
    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
  2. Anoen Messages postés 200 Statut Membre 25
     
    Si c'est la même chose avec PDO
    0
  3. artcompus Messages postés 67 Statut Membre 3
     
    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