[Résolu] phpMyAdmin et BR

phpMyAdmin et BR [Résolu] - PHP - Programmation

Marsh Posté le 10-06-2007 à 18:24:05    

Bonjour à tous,
 
J'ai un soucis avec les espaces lorsque je rempli un formulaire html qui rentre ensuite dans une base de données MySql.
 
J'explique :  
 
Je rentre le texte suivant dans un formulaire html :  
Chapitre 1
Sous chapitre 1
 
Il s'insere ainsi dans la base de données :
Chapitre 1
Sous chapitre 1
 
OR, je voudrais qu'il apparaisse de cette manière :  
Chapitre 1 <br> Sous chapitre 1
 
J'ai essayé nl2br mais il me donne ceci :  
Chapitre 1 <br>
Sous chapitre 1
 
Sur 2 lignes différentes... ce qui donne 2 espaces dans le rendu final.
J'aimerais donc supprimer le saut de ligne.
 
Auriez vous une petite idée ?
 
Merci
 
Lithiumart


Message édité par lithiumart le 10-06-2007 à 20:41:04
Reply

Marsh Posté le 10-06-2007 à 18:24:05   

Reply

Marsh Posté le 10-06-2007 à 18:34:26    

Dans ton champs de formulaire txtarea, tu as une option a définir : wrap=""
Ca défini comment est géré les retours a la ligne.. tu peux choisir les valeurs : hard, soft et je sais plus quoi, je ne sais plus laquelle il te faut .. donc fais une petite recherche google avec les infos que je t'ai donné tu devrais y arriver facilement

Reply

Marsh Posté le 10-06-2007 à 18:40:29    

sinon, il faut faire echo nl2br($message); pour convertir les \n (retours à la ligne dans le champ mysql) en <br> ou <br /> selon le doctype dans l'affichage HTML.

Reply

Marsh Posté le 10-06-2007 à 19:20:09    

Bixibu,
 
J'ai testé ta solution, il existe les valeurs "off", "virtual" et "physical" pour l'option wrap. Mais elle concerne en fait les barres de défilement lors de la redaction du texte.  Moi je voudrais que le redacteur du texte puisse faire un retour à la ligne en appuyant sur "entrer" et que ce retour à la ligne se tranforme en "br" dans la base et que le saut de ligne disparaisse...
 
Newslettux,  
 
J'ai essayé de faire le nl2br après sortie du champs Mysql mais ca ne fonctionne pas...

Reply

Marsh Posté le 10-06-2007 à 19:37:21    

Reply

Marsh Posté le 10-06-2007 à 20:38:49    

Je m'en suis sorti en faisant tout simplement :
$texte=nl2br($texte);
$texte=ereg_replace("\r","",$texte);
 
Merci !
 
Lithiumart

Reply

Marsh Posté le 10-06-2007 à 20:43:47    

C'est pas de cette manière qu'il faut s'y prendre ;)
 
Il faut stocker dans la base avec les retour à la ligne, et seulement à l'affichage mettre un nl2br.
 
Car pour l'édition, tu vas te retrouver avec des <br> dans le texte ...


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 10-06-2007 à 21:41:28    

Non justement, je fais la manip inverse pour éditer le texte.
Et si je stocke les retours à la ligne dans le champs MySql et que je fais un nl2br après, il me mets des grands sauts de ligne à l'affichage car à la sortie c'est du flash...
Je sais c'est de la bidouille mais ca fonctionne !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed