PHP Textarea Saut de ligne Mysql

Résolu/Fermé
yrkel Messages postés 7 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 31 mars 2011 - 30 mars 2011 à 23:13
yrkel Messages postés 7 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 31 mars 2011 - 31 mars 2011 à 14:34
Bonjour,

J'ai un formulaire dans lequel j'entre des données, et qui ensuite s'enregistrent dans une base de donnée.

Il y a un champ Textarea, et j'aimerais savoir, comment conserver les sauts de ligne, pour pouvoir les faire afficher lorsque je fais afficher les données de ma base de données. Ceci afin d'éviter de devoir écrire <br /> à chaque saut de ligne.

J'ai vu qu'il existait Nl2br mais je ne sais pas comment l'utiliser, et si cela est applicable avec mon code. Voici la ligne qui fait afficher les données du textarea.

echo '<b>Liens :<br> </b>'.$data['liens'].'<br>'; 


Merci pour vos réponses.





4 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
31 mars 2011 à 14:05
Bonjour,

L'utilisation de nl2br est immédiate :

echo '<b>Liens :<br> </b>'.nl2br($data['liens']).'<br>';

Tout simplement :)

Xavier
1
yrkel Messages postés 7 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 31 mars 2011 2
31 mars 2011 à 14:34
Merci bien Reivax962, ça fonctionne no. 1
1
debutantXXL
30 mars 2011 à 23:43
salut
tu peux tapper les enter sur ta textaera. ensuite tu stockes dans ta base avec un htmlentities[$tontexte) et tu réaffiches tout dans un style tres pur avec un html_entity_decode($tontexte);
c'est un probleme que j'ai abordé il y a 5 jours alors je l'ai encore en tete.
si ca te convient, marque le sujet résolu
@+
0
yrkel Messages postés 7 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 31 mars 2011 2
31 mars 2011 à 13:40
Salut
j'ai fouillé pour trouver comment utiliser htmlentities, dependant, je n'ai rien trouvé de concluant. Je te mets mon code, si tu pouvais m'indiquer où rajouter les 2 fonctions, ce serait gentil.

Page où j'entre les données
<html>
<link href="../feuille.css" rel="stylesheet" type="text/css">

<body>
<!-- début du document -->
<form method="POST" action="valideedito.php">

Nouvelles: <textarea rows="15" name="edito" cols="63"></textarea><br><br>

<input type=submit value="Enregistrer">
</form>
<!-- Fin du document -->
</body>
</html>


Page qui affiche les données
<html>
<head>
<link title="feuille" type="text/css" rel="stylesheet" href="feuille.css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Contenu</title>
</head>

<body topmargin="0" leftmargin="0">

    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="540" id="AutoNumber2">
      <tr>
        <td width="100%" align="center" valign="top" class="nouvellesheader">Dernières Nouvelles</td>
      </tr>
       <tr>
        <td width="100%" height="10px" align="center" valign="top">&nbsp;</td>
      </tr>
      <tr>     
        <td width="100%" align="center" valign="top">
               <?php
// on se connecte à MySQL
$db = mysql_connect('---------', '-------------');

// on sélectionne la base
mysql_select_db('----------------',$db);

// on crée la requête SQL
$sql = 'SELECT * FROM edito ORDER BY id DESC LIMIT 0,5';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
  echo '<tr>
        <td width="100%" align="center" valign="top">Posté le '.$data['date'].'</td>
      </tr>';
  echo '<tr>
        <td width="100%" align="center" valign="top">&nbsp;</td>
      </tr>';
  echo '<tr>
        <td width="100%" align="center" valign="top">'.$data['edito'].'</td>
      </tr>';
  echo '<tr>
        <td width="100%" height="1" align="center" valign="top" ><hr></td>
      </tr>';	      
		  }
		  

// on ferme la connexion à mysql
mysql_close();
?> </td>
      </tr>
      <tr>
      <td></td>
</tr>
</table>
</body>
</html>


Merci, bonne journée
0