PHP= Problème d'affichage dans un TP

Résolu/Fermé
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 - Modifié par baladur13 le 5/07/2012 à 10:11
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 - 5 juil. 2012 à 14:21
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 dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
5 juil. 2012 à 10:27
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 juil. 2012 à 10:44
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 dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
5 juil. 2012 à 10:50
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 dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
5 juil. 2012 à 14:21
sujet résolu il fallait mettre :

FROM commentaire WHERE id_billet=? ORDER BY date_commentaire DESC
0