PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 06-03-2018 08:12:30

homeland
Membre
Inscription : 06-03-2018
Messages : 1

utiliser les données sql dans le gabarit ou template en mvc

Bonjour a tous,
J'ai presque finalisé mon blog en php. Il est en mvc orienté objet.Je suis débutant et j'arrive devant une difficulté.
Mon contrôleur va demander au modèle les données, les analyse, prend les décisions et renvoient le texte à afficher à la vue.
La plupart du temps il est sous cette forme:

if (isset($_GET['action'])) {
    if ($_GET['action'] == 'listPosts') {
        $ctrlfrontend->listPosts();
    }
    elseif ($_GET['action'] == 'post') {
        if (isset($_GET['id']) && $_GET['id'] > 0) {
     
            $ctrlfrontend->post();
        }

Jusqu'a maintenant j'ai travaillé avec '$_GET['action'] ==' du coup la fonction était appelé lors de ce get action ,c'etait facile a mettre en place avec un form ou un lien.
Mais maintenant je desire utiliser des données dans mon template ou gabarit de page sauf que je ne sais pas quoi utilisé pour appeler la fonction dans le template.Je vois comment faire en procédural mais pas en mvc.

En procédural cela marche:


<?php
 
 
try
{
  // On se connecte à MySQL
  $bdd = new PDO('mysql:host=localhost;dbname=blog_forteroche;charset=utf8', 'root', '');
}
catch(Exception $e)
{
  // En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
}
 
// Si tout va bien, on peut continuer
 
// On récupère tout le contenu de la table jeux_video
$reponse = $bdd->query('SELECT id,user_id, title,chapter, content, DATE_FORMAT(creationDate, \'%d/%m/%Y\') AS creation_date_fr FROM posts ORDER BY creationDate ');?>
    <!DOCTYPE html>
    <html>
 
    <head>
 
"></script>
        <script src="https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=i9qtcs3a3bdsajmuw9vustqee9f5wd2z1pnc8mpv2bjzzzn0"></script>
        <script>
            tinymce.init({
                selector: "textarea"
                , selector: "textarea:not(.mceNoEditor)"
                , theme: 'modern'
                , plugins: 'lists advlist image imagetools'
            });
        </script>
    </head>
    <title>
        <?= $title ?>
    </title>
 
    <body>
        <nav class="navbar navbar-default navbar-fixed-top">
            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button>
                </div>
                <div class="collapse navbar-collapse" id="myNavbar">
                    <?php if (!$_SESSION) { ?>
                        <ul class="nav navbar-nav">
                            <li><a href="#about" class="billet">Billet simple pour l'Alaska</a></li>
                            <li><a href="index.php"><i class="fa fa-home"></i>Accueil</a></li>
                            <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="index.php?action=chapterList" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          Chapitres
        </a>
                                <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                                    <?php while ($data = $posts->fetch())
{
?>
                                        <a action="" class="dropdown-item" href="#">
                                            <?php echo $data['chapter']; ?>
                                        </a>
                                        <?php
}
$reponse->closeCursor(); // Termine le traitement de la requête ?>
                                </div>
                            </li>
                            <li><a href="index.php?action=connect"><i class="fa fa-sign-in" aria-hidden="true"></i>Connexion</a></li>
                        </ul>
                        <?php } else { ?>
                            <ul class="nav navbar-nav">
                                <li><a href="#about" class="billet">Billet simple pour l'Alaska</a></li>
                                <li><a href="index.php"><i class="fa fa-home"></i>Accueil</a></li>
                                <li><a href="index.php?action=board">Board</a></li>
                                <li><a href="index.php?action=deconnexion"><i class="fa fa-sign-in" aria-hidden="true"></i>Déconnexion</a></li>
                            </ul>
                            <?php } ?>
                </div>
            </div>
        </nav>
        <div>
            <?= $content ?>
        </div>
        <footer id="footer" class="navbar-fixed-bottom">
            <p>©forteroche</p>
        </footer>
    </body>
 
    </html>
 

si vous pouviez m'aider merci.

Dernière modification par homeland (06-03-2018 14:24:16)


Hors ligne

Pied de page des forums