Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/07/2007, 15h48   #1
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
Par défaut Retour à la ligne dans un champ de type text

Bonjour,

J'utilise MySQL - 4.0.24_Debian-10-log avec PHPmyAdmin 2.8.0.2. J'ai un champ text (c'est un champ pour laisser une remarque) qui est rempli par mes utilisateurs. Lorsque l'utilisateur saisi un message tel que que :

Citation:
Bonjour,
Son message
sa signature
Dans la base de données, ces éléments sont enregistrés avec les retour à la ligne (que l'utilisateur a fait). Mais les retours à la ligne sont invisibles dans la BD comment faire pour les repérer dans le champ ? J'aimerais mettre ces informations (Bonjour, son message, sa signature) sur une seule ligne sans les retours !

Comment faire ?

merci !
__________________
Les cours: XHTML, CSS, PHP, Flash et Javascript
Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
Aucune question technique par MP.
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2007, 17h56   #2
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
REPLACE devrait faire l'affaire.
Code :
SELECT REPLACE(colonne, '\n', ' ') FROM TABLE;
Ou directement à l'insertion.
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 09h36   #3
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
Merci de ton code...

Au moment de l'insertion j'ai fais ceci:

Code :
1
2
$test = str_replace("\n", "", $test);
$test = str_replace("\r", "", $test);
sur ma variable mais à l'affichage j'ai toujours mes retours
__________________
Les cours: XHTML, CSS, PHP, Flash et Javascript
Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
Aucune question technique par MP.
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 14h42   #4
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
C'est pas plutôt \r\n pour windows ?
Code php :
$test = str_replace(array("\r\n", "\n", "\r"), '', $test);
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 16h15   #5
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
exact c'était bien cette commande pour windwos... merci xunil j'ai aussi essayé cette commande mais rien n'y fait...

Alors j'ai fais ceci et ca fonctionne:

Code :
1
2
$test = nl2br($test);
$test = str_replace ("<br />"," ", $test);
Mais (car il y a un mais) lorsque je mets ces informations dans un fichier texte, le fichier texte contient ceci :

Citation:
Bonjourrnsonmessagernsasignature
J'obtiens des RN ??? Comment les supprimer et les remplacer par des espaces ? (je pense pas que l'utilsation du str_replace soit judicieux ?)

merci !
__________________
Les cours: XHTML, CSS, PHP, Flash et Javascript
Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
Aucune question technique par MP.
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 17h44   #6
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Tu n'aurais pas fait un stripslashes() sur ta chaine ailleurs dans ton code ?

Ce serait d'ailleurs pour cette raison que le str_replace() des sauts de lignes ne fonctionne pas.
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2007, 07h21   #7
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
Citation:
Envoyé par Xunil
Tu n'aurais pas fait un stripslashes() sur ta chaine ailleurs dans ton code ?
=> Si juste avant de mettre le contenu de ma variable dans mon fichier texte... Merci de l'info

L'ennui c'est que si j'enlève et qu'un utilisateur saisi des apostrophes, ca ne fonctionnera pas... Quel est le meilleur compromis pour supprimer ces rn et avoir des espaces et que l'utilisateur puissent saisir des ' ou des " ?

Merci !
__________________
Les cours: XHTML, CSS, PHP, Flash et Javascript
Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
Aucune question technique par MP.
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2007, 10h21   #8
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Il faut d'abord faire le remplacement des sauts de lignes et ensuite faire le stripslashes()
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2007, 10h45   #9
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 032
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 032
Points : 754
Points : 754
Yeah ! Merci ! (j'y avais pas pensé !)

merci Xunil de ton aide ! (le tag résolu est la plus belle des satisfaction )
__________________
Les cours: XHTML, CSS, PHP, Flash et Javascript
Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
Aucune question technique par MP.
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h18.


 
 
 
 
Partenaires

Hébergement Web