Base de données [Résolu]

Kelsilver - 31 oct. 2016 à 23:49 - Dernière réponse :  Kelsilver
- 6 nov. 2016 à 21:59
Bonsoir !
J'ai créé un site web. J'ai lui créé une base de données avec PhpMyAdmin. Le problème que j'ai, le voici. Quand je fais l'affichage des données à partir de la base de données vers mes pages, seuls les champs dont le contenu n'est pas long s'affiche. Les champs de Varchar s'affichent lorsque leur valeur n'est pas longues. Le plus dur c'est lorsque le champ est de type text. Leur affichage ne marche pas sur mes pages. A leur place, j'ai seulement une espace vide. Mais, s'il s'agit d'une image, tout s'affiche bien. Voici le code source que j'utilise pour afficher mes données depuis la base de données :


<?php
 include('connexion_db.php');
 reponse = $bdd->query("SELECT id_info, titre_info, description_info, date_info, photo_info   
 FROM infos
 WHERE id_info=1 
");
?>
<?php while ($donnees = $reponse->fetch()) { ?>
 <!-- Fin PHP infos -->
<div style="box-shadow:2px 2px 2px 2px #bebebe;background-color:#333366;color:#fff;font-family:;font-size:18px;text-align:center;font-weight:bolder;"><?php echo htmlspecialchars($donnees['titre_info']); ?></div>
   <section width=30% style="border-bottom:5px solid #333366;border-left:2px solid #bebebe;border-right:2px solid #bebebe;border-top:2px solid #bebebe;
           font-size:15px;vertical-align:top;border-radius:10px;box-shadow:1px 1px 1px #bebebe;padding:8px;">
    <img src="publications/<?php echo htmlspecialchars($donnees['photo_info']); ?>" width=100% height="auto" style="" title="<?php echo htmlspecialchars($donnees['titre_info']); ?>" alt="<?php echo htmlspecialchars($donnees['titre_info']); ?>"/>
    <p  style="color:;font-size:18px;padding-top:;padding-bottom:;width: 320px;height: 110px;text-align: justify;border: 1px solid #333366;overflow: auto;">
     <?php echo htmlspecialchars($donnees['description_info']); ?>
    </p>
    <span style="color:#CC0000;font-style:italic;">
     <?php echo htmlspecialchars($donnees['date_info']); ?>
    </span>
    <p style="color:#fff;font-size:16px;background-color:#333366;width:100px;">
     <a href="pages/detail_info.php?id_info=<?php echo htmlspecialchars($donnees['id_info']); ?>" style="text-decoration:none;color:#fff;font-size:16px;background-color:#333366;"> 
     Lire la suite ...</a>
    </p>
   </section>
   <?php  } $reponse->closeCursor(); ?>
   <br/>



<--! Comentaire -->
Comment faire pour afficher toutes mes données de ma base de données dont les champs de différents types ?
Si la valeur que contient un champ est longue, son contenu ne s'affiche pas. Peu importe son type. Sauf les images s'affichent correctement.
JE ne sais pas si le problème vient de mes codes sources ou d'alleurs.
Aidez-moi à trouver une solution à mon problème.

Merci
Afficher la suite 

6 réponses

Répondre au sujet
jordane45 19268 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 16 décembre 2017 Dernière intervention - 1 nov. 2016 à 10:44
0
Utile
Bonjour
Tu peux nous donner un dump de ta table ou au moins sa structure structure ?

Commenter la réponse de jordane45
0
Utile
Table : infos
id_info : int(11) AUTO_INCREMENT
titre_info : varchar(250) latin1_swedish_ci
description_info : text latin1_swedish_ci
photo_info : varchar(250) latin1_swedish_ci
date_info : timestamp CURRENT_TIMESTAMP


Tout marche bien en local sur mon ordinateur. Mais quand j'envoie tout sur le serveur, le problème revient. J'utilise PhpMyAdmin 4.5.1 et mon serveur utilise 4.4.13.1
J'exporte mes tables vers de PhpMyAdmin 4.5.1 vers PhpMyAdmin 4.4.13.1 sur le serveur. Je ne sais pas s'il y a un problème à ce niveau.

Merci de m'aider.
Merci d'avance Jordane45
Commenter la réponse de Kelsilver
NHenry 14005 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 15 décembre 2017 Dernière intervention - 6 nov. 2016 à 16:10
0
Utile
Pour info la base de données n'est pas PhpMyAdmin, mais MySql.

Ensuite, htmlspecialchars attends souvent de l'UTF-8, si le texte contient des caracètres non UTF-8 (ou de la page de code définie par le serveur), cela fait que la fonction retourne rien.

Essayes sans le htmlspecialchars pour voir, si ça fonctionne, c'est que l'encodage n'est pas bon.
Commenter la réponse de NHenry
0
Utile
2
Merci NHenry
Tout marche bien maintenant.
J'ai enlevé les htmlspecialchar. Et tout est OK
Grand merci
NHenry 14005 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 15 décembre 2017 Dernière intervention - 6 nov. 2016 à 21:25
Attention tout de même, le htmlspecialchars permet d'échapper les caractères et éviter une injection de code HTML/JS.
Je te recommande de faire en sorte que l'encodage soit le bon.
Ok
Merci, je vais le faire.
Grand merci
Commenter la réponse de Kelsilver

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.