Saut de ligne à l'insert dans MySQL

Résolu
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010 - 2 nov. 2010 à 08:10
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 - 2 nov. 2010 à 10:38
Bonjour,
j'ai un soucis avec l'insert des sauts de ligne.

Sous PHP 5.3, MySQL 5.1.36

Suite d'actions:
- j'écris dans un textarea avec les sauts de ligne,
- event onsubmit: j'envoies vers javascript
- requête AJAX pour l'insert dans MySQL via ma page PHP.
- pour l'insert du texte brut, aucune modif du string ($string = $_GET['string']; puis insert via PDO exec)
Ensuite:
- pour récupérer l'affichage dans une div <?php echo nl2br($result['string']); ?> (via une requête query PDO)

Problème:
aucun saut de ligne enregistré dans MySQL (mon champ est de type TEXT , utf8_bin)

Comme la méthode est la bonne (j'ai cherché sur le Web avant de poster ;) )
J'en déduis qu'il y a une subtilité niveau PHP (ou Appache ou MySQL).

Si quelqu'un a déjà rencontré le pb...
merci

4 réponses

BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
2 nov. 2010 à 10:14
En utilisant le test de cod57 on peu conclure que le pb vient de javascript.

Pour ceux qui un jour seront confrontés à ce problème, j'ai trouvé la solution ici:
http://www.webmasterworld.com/javascript/3463291.htm

escape(textareaValue)
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
2 nov. 2010 à 09:02
salut

je te propose

$result['string'] = str_replace("\r"," ",$result['string']);
$result['string'] = str_replace("\n","
",$result['string']);

dis-nous si ça marche ?
0
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
2 nov. 2010 à 09:31
cod57,

ça ne marche pas.
j'ai fait:
function test($string){
$temp = str_replace("\r"," ",$string);
$temp = str_replace("\n","
",$temp);
return $temp;
}

je suppose qu'il y aurait du y avoir des
dans mon champ MySQL, mais c pas le cas.
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
2 nov. 2010 à 10:38
@BananaTree

Merci pour ton message je garde ton lien a++
0
Rejoignez-nous