PHP= Problème d'affichage dans un TP

Résolu/Fermé
Signaler
Messages postés
1390
Date d'inscription
dimanche 1 juillet 2012
Statut
Membre
Dernière intervention
14 décembre 2012
-
Messages postés
1390
Date d'inscription
dimanche 1 juillet 2012
Statut
Membre
Dernière intervention
14 décembre 2012
-
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

4 réponses

Messages postés
1390
Date d'inscription
dimanche 1 juillet 2012
Statut
Membre
Dernière intervention
14 décembre 2012
206
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
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
895
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\')
Messages postés
1390
Date d'inscription
dimanche 1 juillet 2012
Statut
Membre
Dernière intervention
14 décembre 2012
206
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
Messages postés
1390
Date d'inscription
dimanche 1 juillet 2012
Statut
Membre
Dernière intervention
14 décembre 2012
206
sujet résolu il fallait mettre :

FROM commentaire WHERE id_billet=? ORDER BY date_commentaire DESC