PHP= Problème d'affichage dans un TP

Résolu
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription   Statut Membre Dernière intervention   -  
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Apres HTML/CSS et JavaScript le m'attaque à PHP grâce au site du zéro, et sur le TP sur le blog avec des commentaires je ne comprends pas pourquoi sur ma page commentaire.php rien ne s'affiche, enfin si, il y a juste un "le", celui de la date.

je me triture les méninge mais je ne vois pas pourquoi, alors je fait appel à vos compétences.

Pour cette exercice j'ai deux pages une forum.php et une commentaire.p?p, ainsi que deux tables, une billets et une commentaire.

Le premier à l'air de fonctionner mais commentaire.php non, pourtant aucune erreurs ne s'affiche.

voici mes codes et désolé il ne sont pas très propre.

forum.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">   
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >   
   <head>   
       <title>forum.php</title>   
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1"/>   
       <style type="text/css">   
           
       </style>   
   </head>   
   <body>   
       
    <h1>Super blog</h1>   
       
    <?php   
      
   try   
    {   
     $bdd= new PDO('mysql:host=localhost;dbname=test', 'root', '');   
    }   

    catch(Exception $e)   
{   
 die('Erreur : '.$e->getMessage());   
}   

$reponse = $bdd ->query('SELECT id, titre, contenu, DATE_FORMAT   
                                   (date_commentaire,\'%d/%m/%Y à %Hh%imin%ss\')    
                                    AS date FROM billets ORDER BY date_commentaire DESC    
                                    LIMIT 0 , 5');   

while($donne = $reponse -> fetch())   
{   
  ?>   

  <p><strong><?php echo htmlspecialchars($donne['titre']); ?> </strong>   
         <?php echo htmlspecialchars($donne['date']); ?><br />   
  <em><?php echo htmlspecialchars($donne['contenu']); ?></em><br />   
  <a href="commentaire.php?ordre=<?php echo htmlspecialchars($donne['id']); ?>">Commentaires</a></p><br />   

 <?php   
}   

$reponse->closeCursor(); ?>   

    </body>   
</html>   


Voici celui qui pose problème, commentaire.php :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">   
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >   
 <head>   
  <title>commentaire.php</title>   
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1"/>   
 </head>   
 <body>   

<?php   

try   
{   
 $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');   
}   
    
catch(Exception $e)   
{   
 die('Erreur : '.$e -> getMessage());   
}   

$reponse =$bdd-> prepare('SELECT id, titre, contenu, DATE_FORMAT(date_commentaire,   
                                       %d/%m/%Y à \'%Hh%imin%ss\')AS date FROM billets    
                                       WHERE id=?');   

$reponse-> execute(array($_GET['ordre']));   

$donne=$reponse -> fetch();   

echo '<p><strong>'.htmlspecialchars($donne['titre']).'</strong> le'.htmlspecialchars($donne['date']).'<br /><em>'   
 .htmlspecialchars($donne['contenu']).'</em></p><br />';   

 $reponse ->closeCursor();   

 $com = $bdd ->prepare('SELECT id, auteur,commentaire,DATE_FORMAT   
                                   (date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\')   
                                    AS date_com FROM commentaire   
                                    ORDER BY date_commentaire DESC WHERE id_billet=?');   

 $com -> execute(array($_GET['ordre']));   

 while($don = $com -> fetch())   
{   
    
 ?>   
    
 <p><strong><?php echo htmlspecialchars($don['auteur']); ?></strong> le    
        <?php echo $don['date_com']; ?>   
  <br />   
  <em><?php echo htmlspecialchars($don['commentaire']); ?></em>   
 </p><br />   
    
 <?php   
}   

$com-> closeCursor(); ?>   


 </body>   
</html>




Signature non conforme supprimée par la Modération CCM
A voir également:

4 réponses

@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription   Statut Membre Dernière intervention   208
 
J'ai trouver j'avais mal placer les guillemets dans DATE_FORMAT, autre problème maintenant il ne m'affiche qu'un seul commentaire alors que dans ma table j'en avais rentrer 5
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
ligne 21 tu as un pb dans ton format de DATE_FORMAT

DATE_FORMAT(date_commentaire,
%d/%m/%Y à \'%Hh%imin%ss\')


DATE_FORMAT(date_commentaire,   
                                      \' %d/%m/%Y à %Hh%imin%ss\')
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription   Statut Membre Dernière intervention   208
 
Oui merci
et es ce que vous auriez une idée de pourquoi il ne m'affiche qu un seul commentaire alors qu'il devrait afficher 2 ou3 selon le billets
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription   Statut Membre Dernière intervention   208
 
sujet résolu il fallait mettre :

FROM commentaire WHERE id_billet=? ORDER BY date_commentaire DESC
0