Php: affichage longtxt sans retour à la ligne

Bonjour,
je suis en train d'afficher le contenu d'un champ commentaire (type LONGTXT) ,l'affichage est très bien mais pas les lignes vides(espace entre les lignes, retour à la ligne) , cé pr cela je sui obligé d'ajouté <br> dans mon texte

à votre avis , il n'a pas d"autre moyen ?
merci,

while($row = mysql_fetch_array($result)) {
echo '<html>';
echo '<table bgcolor=red>';
echo '<tr>';
echo '<td bgcolor="#FFFFFF">'.$row["commentaire"].'</td>';
echo '</tr>'."\n";
echo '</table>'."\n";
echo '<br>';
echo '<br>';
echo '</td>';
echo '</table>';
}
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. Bonjour,

    Un commentaire dans un texarea lors la saisie a des retours à la ligne \r\n

    et pour qu'il s'affiche correctement sous HTML il faut des <br />

    il existe une fonction php qui fait ça : nl2br()

    Tes balises <table> </table> dans ta boucle while sont étranges
    1
    1. OULA y'a un gros problème dans ton code ^^. tu fermes une table que tu no'uvres pas à chaque passage dans ta boucle.
      De plus, mainteannt, on fait des <br/> et non plus des br pour être un peu plus près des normes W3C ^^.

      pour 'lespacement entre les tables, tu peux utiliser le CSS (genre margin-top) je pense
      0
      1. j'ai supprimé tous les <br> , je ferme la table car il se peut que j'ai plusieurs lignes à afficher ,
        le souçi qu'il n'y pas retour à la ligne quand je fait echo '<td bgcolor="#FFFFFF">'.$row["commentaire"].'</td>';
        dans le contenu du champs commentaire , il y a 3 paragraphes et qui sont séparés par deux ENTREE
        0
        1. Merci ,
          mais, moi , j'ai deux interfaces: l'un pour l'exploitant de la base, et une autre les visiteurs du web.
          je ne voudrai pas embetté l'exploitant pour ajouter nl2br() ou <br /> , pour chaque retour à la ligne,,,
          0
          1. Normal , le td c'est les collones si je me gourre pas, donc il faut ouvrir et fermer les tr pour avoir de nouvelle ligne
            truc du genre
            <html>
            <table bgcolor=red>
            <?php
            while($row = mysql_fetch_array($result)) {

            echo '<tr>';
            echo '<td bgcolor="#FFFFFF">'.$row["commentaire"].'</td>';
            echo '</tr>'."\n";
            }
            ?>
            </table>
            0
            1. j'ai trouvé la solution,

              il faut que j'ajoute dans mon text les codes html, ex: <br> ....
              merci, pour vos aides
              0
              1. mais , mon souci , c'est ce né plus moi qui va être l'administrateur de la base,
                J'ai crée un interface Admin, afin que les exploitants ajoutent/modif le contenu des champs.

                ma question est la suivant :
                y a t il une méthode pour afficher le contenu d'un champs tel qu'il est , ( le nombre de caractères par lignes je peux le faire par les dimensions du tableau html)

                Merci pour vos idées
                0