PHP Textarea Saut de ligne Mysql

Résolu
yrkel Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
yrkel Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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.





A voir également:

4 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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   Statut Membre Dernière intervention   2
 
Merci bien Reivax962, ça fonctionne no. 1
1
debutantXXL
 
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   Statut Membre Dernière intervention   2
 
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