Bonjour,
mon problème est le suivant: je créé un système de blog, et je veux ouvrir un page commune article.php pour tous les articles et je veux envoyer avec GET l'id de l'article concerné et en profité, une fois sur la page article.php pour récupérer toutes les autres donnes correspondant a cet ID et aussi les commentaires par la suite.
1erement je préférais faire un lien permanent par article mais j'ai pas encore compris l'URL rewriting
2emement j'ai du mal a résoudre mes erreurs parce que même si la formation était intéressante, elle ne me permet pas de bien comprendre les fonctions ni le les manier ou même d'en choisir de plus adaptes.
Voici dont mes codes:
le lien pour afficher l'article dans une page spécifique sur index.php:
et le code de article.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="article.php?id=<?php echo $donnees['id'] ?>">commentaire ()</a>
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 <?php if (isset($_GET['id'])) { try { $bdd = new PDO('mysql:host=localhost;dbname=citations', 'root' , ''); $req=$bdd->exec('SELECT id, titre, categorie, article, DATE_FORMAT(date_art, \'%d/%m/%Y à %Hh%imin\') AS date_art_fr FROM billet WHERE id = ' . $_GET['id']); while ($donnees = $req->fetchAll()) { ?> <div class="articles"> <span id="titre"><?php echo $donnees['titre']; ?></span><br /> <span id="date"><?php echo $donnees['date_art_fr']; ?><br /> Catégorie : </span><span id="categorie"><?php echo $donnees['categorie']; ?></span> <div id="article"><?php echo nl2br($donnees['article']); ?></div> </div> <?php } $req->closeCursor(); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } } ?>
voila je pense que mon problème vient de l'utilisation de if et de try/while, le problème c'est que je ne connais pas d'alternative.
L'erreur qui m’apparaît et la suivante :
Fatal error: Call to a member function fetchAll() on a non-object in C:\wamp\www\citations\article.php on line 39
line 39 étant la fonction while
Merci de votre aide
Partager