Bonjour,
je m'entraine à créer un site php en mvc
j'ai une simple requête sur une table mysql
dans mon modèle j'ai ceci
dans mon controlleur j'ai ces deux methode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public static function getAllArticle() { try { $db = static::getDB(); $stmt = $db->query('SELECT * FROM article ORDER BY titre_article'); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); return $results; } catch (PDOException $e) { echo $e->getMessage(); } }
l'une qui filtre le resultat de la requete
et l'autre qui est pour rendre la vue twig
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public function searchInText2 ($paramArticle) { // receve result query $afficheArticle = Article::getAllArticle(); var_dump([$afficheArticle]); $tabloArticle = []; foreach ($afficheArticle as $row) { $pos = strpos($row["text_article"], $paramArticle); if ($pos === false) { $tabloArticle[]=false; } else { $tabloArticle[] = $row["titre_article"]; // ICI JE VOUDRAIS PASSER PLUSIEURS COLONNES DE LA TABLE } } return $tabloArticle; }
et ma vue twig qui affiche le resultat d'une recherche par un formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public function showbisAction() { //recupere resultat filtré de la requet $afficheArticle = $this->searchInText2($_POST["text_article"]); View::renderTemplate('Article/showbis.html', ['valuetablo'=>$afficheArticle]); }
j'aimerais pourvoir exploitert dans twig un affichage selon les colonnes de la table mysql , par exemple comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 {% block body %} <h1>Resultat recherche</h1> {% for value in valuetablo %} <h2>{{ value }}</h2> {% endfor %} <p><a href="formarticle">Faire une recherche.</a></p> {% endblock %}
hors si je fait ça il n'affiche rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 {% for value in valuetablo %} <h4>{{ value.titre_article }}</h4> <p>{{ value.text_article }}</p> {% endfor %}
aussi j'ai besoin de savoir la syntaxe pour passer des valeurs de plusieurs colonnes ici à la fin de la méthode qui filtre le résultat
$tabloArticle[] = $row["titre_article"];
merci pour toute aide
Partager