IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage de requêtes SQL


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 5
    Par défaut Affichage de requêtes SQL
    Bonjour,

    Je viens de mettre en ligne un site web sur lequel je travaille (je précise que c'est mon premier site dynamique).

    J'ai sur ce site un espace blog, un espace livre d'or, un espace membre, etc.
    Bref, je fais donc appel à une base de donnée. (j'utilise MySql)

    En local, tout fonctionnait bien, normalement on va dire. J'avais le résultat que j'attendais.

    Mais depuis que je suis passé en ligne, j'ai des "trous" dans mes commentaires, dans mes articles ou dans mes témoignages du livre d'or...

    En fait, j'ai par exemple sur ce site une partie "livre d'or". Quand on va dessus, certains témoignages apparaissent, d'autres pas. C'est aussi le cas pour les commentaires des articles du blog attaché au site, certains n'apparaissent pas (et pourtant, on voit l'entête "Posté par xxx à xxhxx", mais il n'y a rien après). C'est pareil pour les articles du blog, aucun ne s'affiche... il y a juste quelque fois le titre qui apparaît.

    Bref, je trouve cela très étrange. Je n'arrive pas à trouver de liens entre ces affichages défectueux (au niveau de la taille par ex). Ce sont pourtant toujours les mêmes qui n'apparaissent pas à chaque rechargement de la page !

    Je reviens sur l'affichage des commentaires.

    Voilà la requête qui appelle les ressources en BDD :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = $bdd->query('SELECT auteur, contenu, YEAR(date) AS annee, MONTH(date) AS mois, DAY(date) AS jour, MINUTE(date) AS minutes, HOUR(date) AS heures FROM commentaires WHERE article = '.$_GET['article'].'');


    J'affiche ensuite ce qu'il faut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while ($donnees = $req->fetch())  
          {  
           echo  '<div class="b_commentaire">  
              <div class="entete_message">Par <strong>'.$donnees['auteur'].'</strong>, le '.$donnees['jour'].'/'.$donnees['mois'].'/'.$donnees['annee'].' à '.$donnees['heures'].'h'.$donnees['minutes'].' :</div>  
              <div class="contenu_commentaire">  
               '.htmlspecialchars($donnees['contenu']).'  
              </div>  
             </div>';  
          }  
          $req->closeCursor();
    (je sais, l'affichage des pseudos n'est pas protégé, je change ça de suite :p)

    Et c'est là que ça devient intriguant... parce que, dans une même requête, il a pu trouver le pseudo de l'auteur, l'heure à laquelle le message a été posté mais il ne peut pas afficher le message !

    Je finis par préciser que la base de donnée est hébergée chez 1and1.

    J'espère trouver de l'aide. Je peux pas vraiment chercher sur internet, le problème n'a pas vraiment de nom... enfin, j'ai déjà beaucoup de mal à l'expliquer alors dans un moteur de recherche...

    Merci bien.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    a priori, ca vient de htmlspecialchars($donnees['contenu']) ?

    - as-tu vérifier le contenu de "contenu" dans ta BdD, pour voir ceux qui clochent comparés à ceux qui s'affichent ?
    (contiennent-ils des caractères particuliers susceptibles de gêner l'affichage ?)
    - si tu remplaces htmlspecialchars($donnees['contenu']) par nl2br($donnees['contenu']) : ca donne quoi ?
    - et aussi : print_r($donnees['contenu']);
    - le problème peut aussi venir de la façon d'enregistrer les données en BdD ...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 5
    Par défaut
    Oui effectivement, cela semblait venir de htmlspecialchar. Le contenu de ma BDD était bien intact (j'ai oublié de vous le préciser dans mon premier message)

    Je les ai tous remplacé par nl2br et tout semble s'afficher. Bon par contre, cette fonction filtre pas les balises HTML, enfin, je vais me renseigner sur son utilisation !

    Merci jreaux62

    PS : C'est étrange de la part de htmlspecialchar de trier comme ça ce qu'il affiche ou pas non ? Visiblement, il n'affichait pas les messages qui contenaient un ou des accents...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je pense qu'il faut plutot regarder du coté de htmlentities() ... et vérifier l'encodage (dans la BdD, dans la page ...) (?)

  5. #5
    Membre Expert Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Par défaut
    Si tu vas voir directement en base, les contenus des articles posant problème sont-ils bien présents?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 5
    Par défaut
    Oui, dans la base ils sont bien présentés, tous entiers et les accents ne semblent pas poser de problèmes.

Discussions similaires

  1. [MySQL] Affichage de requête SQL
    Par StephBretagne dans le forum PHP & Base de données
    Réponses: 73
    Dernier message: 23/05/2012, 15h24
  2. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  3. Affichage résultat requête SQL
    Par Shankara dans le forum Composants
    Réponses: 7
    Dernier message: 10/06/2010, 21h21
  4. Affichage de requête SQL
    Par bibipsi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/05/2009, 20h49
  5. [SQL] Soucis d'affichage de requête SQL
    Par kilkikou dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 06/06/2006, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo