Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels 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 11/02/2011, 16h58   #1
Membre du Club
 
Avatar de Aquellito
 
Axel
Développeur informatique
Inscription : juin 2008
Messages : 192
Détails du profil
Informations personnelles :
Nom : Axel

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2008
Messages : 192
Points : 58
Points : 58
Par défaut Insertion de la balise <br>

Bonjour,

J'ai un gros soucis pour l'insertion des retour chariot dans ma base de donnée.

Ci-dessous la variable que je récupère depuis mon formulaire. Je remplace les retours chariot \n par <br>.
Code :
var maVar = String(Request.Form("maVar")).REPLACE(/\n/g,"<br>");
Le problème est que lorsqu'on l'insert dans la base, il ne me remplace rien. Il ajoute un <br> au \n...

Donc une variable qui a la valeur "TEST \n TEST" aura la valeur "TEST \n<br> TEST" au lieu de "TEST <br> TEST".

De plus, la valeur se trouvant dans Mysql Query Browser est comme ceci (avec un retour chariot caractérisé par un caractère spécial indéfinissable, un peu comme le signe PI...). Lorsqu'on clic dessus pour modification, ce caractère disparrait et est remplacé par un retour à la ligne.
"TEST
<br> TEST
"

J'espère avoir été relativement clair lol...
Aquellito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 10h08   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 544
Points : 9 544
1) Sur quel OS tu es ? Tu es sûr que tu ne devrais pas remplacer aussi le \r, par exemple avec /[\n\r]+/g

2) Pourquoi veux-tu pourrir ta base de données avec des <br> ? Normalement, le code HTML est utilisé en affichage, pas en stockage.

3) quel est le langage que tu utilises ? du Java ?
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 11h50   #3
Membre du Club
 
Avatar de Aquellito
 
Axel
Développeur informatique
Inscription : juin 2008
Messages : 192
Détails du profil
Informations personnelles :
Nom : Axel

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2008
Messages : 192
Points : 58
Points : 58
Citation:
1) Sur quel OS tu es ? Tu es sûr que tu ne devrais pas remplacer aussi le \r, par exemple avec /[\n\r]+/g
Je suis sur Windows Server 2003.
J’avoue que j'ai du mal à voir la différence entre "Retour Chariot" et "Nouvelle Ligne" mais bon tu as raison je vais essayer les deux.

Citation:
2) Pourquoi veux-tu pourrir ta base de données avec des <br> ? Normalement, le code HTML est utilisé en affichage, pas en stockage.
Ba pour pouvoir justement prendre en compte les retours chariots saisis dans le formulaire. Et ça évite un retraitement à chaque affichage. Mais bon c'est peut-être absurde et tu vas sûrement me donner une autre solution

Citation:
3) quel est le langage que tu utilises ? du Java ?
C'est de l'ASP JScript (Javascript côté serveur).
Aquellito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 12h10   #4
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 544
Points : 9 544
Citation:
Envoyé par Aquellito Voir le message
Je suis sur Windows Server 2003.
J’avoue que j'ai du mal à voir la différence entre "Retour Chariot" et "Nouvelle Ligne" mais bon tu as raison je vais essayer les deux.
Sous Windows, les lignes sont séparées par la combinaison \r\n, donc si tu ne remplaces que le \r, ça provoque les bizarreries que tu cites.
Citation:
Envoyé par Aquellito Voir le message
Ba pour pouvoir justement prendre en compte les retours chariots saisis dans le formulaire. Et ça évite un retraitement à chaque affichage. Mais bon c'est peut-être absurde et tu vas sûrement me donner une autre solution
Oui, faire un retraitement à chaque affichage
Citation:
Envoyé par Aquellito Voir le message
C'est de l'ASP JScript (Javascript côté serveur).
OK
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 14h11   #5
Membre du Club
 
Avatar de Aquellito
 
Axel
Développeur informatique
Inscription : juin 2008
Messages : 192
Détails du profil
Informations personnelles :
Nom : Axel

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2008
Messages : 192
Points : 58
Points : 58
Ok, en effet c'était bien ça l'origine de mon erreur. De ne pas avoir mis le \r avant le \n. Merci bien !
Par contre juste par curiosité, pourquoi remplacer les \r\n par des <br> lors de l'affichage plutôt que lors de l'insertion ? En quoi je vais pourrir ma base ?
Aquellito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 14h21   #6
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 990
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 990
Points : 18 241
Points : 18 241
Envoyer un message via MSN à CinePhil
\n\r = 2 caractères invisibles
<br /> = 6 caractères visibles

\n\r ne seraient-il pas pris en compte dans une balise HTML <p></p> ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 14h41   #7
Membre du Club
 
Avatar de Aquellito
 
Axel
Développeur informatique
Inscription : juin 2008
Messages : 192
Détails du profil
Informations personnelles :
Nom : Axel

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2008
Messages : 192
Points : 58
Points : 58
Citation:
\n\r = 2 caractères invisibles
<br /> = 6 caractères visibles
Ok, je comprend que cela puisse déranger... En même temps le fait d'appeler la fonction de traitement à chaque fois, c'est plus que 6 caractères.

Citation:
\n\r ne seraient-il pas pris en compte dans une balise HTML <p></p>
Non, malheureusement.
Aquellito 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 09h51.


 
 
 
 
Partenaires

Hébergement Web