Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 17/04/2007, 06h23   #1
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
Par défaut Update d'un textarea change l'affichage

Bonjour, j'ai eu un peu de difficulté à trouver un titre significatif

Voilà ma situation:

J'ai un formulaire de feuille de travail
je peux ou non ajouter des commentaire, si je décide d'en ajouter je fais apparaitre un textArea

Si l'usager entre un commentaire pour sa feuille de travail, je l'insert dans une table séparer gardant l'id de la feuille de travail et un champs commentaire de type text

L'insert se fait bien, pas de soucis
....

J'offre par la suite la possibilité de modifier une entré dans la feuille de travail et par le fait meme le commentaire que je réaffiche dans le textarea, s'il y en a eu un d'inscrit. Il a la meme forme que celle que j'ai inscrit originalement(1)

Je fais ensuite une requete d'update sur tout les champs afin d'éviter de valider lequel a été modifier
Le probleme est lorsque j'update le chmaps commentaire de type text, il bousille alors mon affichage originale(1) dans mon textarea

Citation:
Ex:
j'ai une phrase d'écrit
et une deuxieme ligne.

Je saute une ligne et termine.
Après update si je raffiche ca me fait ca
j'ai une phrase d'écrit et une deuxieme ligne. Je saute une ligne et termine.

vous savez pourquoi???

merci de votre aide
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 07h16   #2
Fabouney
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Salut,

regarde cette fonction, elle te sera utile je pense pour la manipulation des données d'une textarea :

function.nl2br

Cordialement.
  Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 16h23   #3
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
oui, j'y avait jeté un coup d'oeil
mais est ce que je passe cette fonction avant de faire l'insert dans la bdd?

Deplus si ca change les \n en <br /> ben c'est bon pour l'affichage dans un echo, mais si je fais afficher le tout dans mon textarea, est ce que ca va agir de la meme manière?
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 16h32   #4
Fabouney
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
bah de totue manière tu n'as pas 30 000 facons de conserver ces retour chariots, car lors de l'insert il sont supprimés, alors nl2br est, je pense, bien dans ton cas, et pour réafficher le text dans ta textarea est bien un bon petit :

Code :
str_replace("<br />", "\n", $text);
fera l'affaire non ?

P.S : sinon moi j'utilise Tinymce pour l'édition de textarea, super simple.

Cordialement.
  Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 16h36   #5
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
oki ben je vais me pencher sur l'utilisation des nl2br et le str_remplace
je te reviens ladessus

merci beaucoup
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 17h00   #6
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
salut
bon je viens de tester le tout
et ca marche pratiquement
je te donne mon code tu me dit s'il y quelque chose qui cloche

Code :
1
2
3
4
5
6
7
8
9
10
 
//La transformation du textarea (txtComments) posté
if(isset($_POST['txtComments'])){
	$commentaires = nl2br($_POST['txtComments']);
	$strScriptComments = "INSERT INTO `tblcommentsfeuilletravail` ( `commentsFeuilleTravailID` , `feuilleTravailID` , `commentaire` ) ";
	$strScriptComments .= "VALUES ('', '".$insertedID."', '".$commentaires."')";
 
	//echo $strScriptComments.'<br>';
	$objCon->dbQuery($strScriptComments);
}
Ceci est ce qu'il y a eu d'inseré en bdd
Citation:
Dan à reçu cinq moules drette su'a tête<br />
<br />
Il a alors mangé une tourterelle farcie à l'ours des neiges du nord de la sybérie.<br />
Peut-être encore une fois l'avion s'écrasera dans le groënland
Voici ma requete pour récupérer le tout
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$strScript = "SELECT commentaire ";
$strScript .= "FROM tblcommentsFeuilleTravail ";
$strScript .= "WHERE feuilleTravailID = '".$_POST['mod'.$_GET['modifie']]."'";
 
$req = $objCon->dbQuery($strScript);
if(mysql_num_rows($req) > 0){
	$flagComments = 1;
	$resModif = mysql_fetch_assoc($req);
 
	$_POST['txtComments'] = str_replace("<br />","\n",$resModif['commentaire']);
	//$_POST['txtComments'] = $resModif['commentaire'];
}
 
....
//Comment je l'affiche dans le textarea
echo(isset($flagComments) && $flagComments == 1)?'<textarea name="txtComments" cols="50" rows="10">'.$_POST['txtComments'].'</textarea>' : '<textarea name="txtComments" cols="50" rows="10"></textarea>';
Ce que ca m'affiche ensuite:
Citation:
Dan à reçu cinq moules drette su'a tête



Il a alors mangé une tourterelle farcie à l'ours des neiges du nord de la sybérie.

Peut-être encore une fois l'avion s'écrasera dans le groënland
Observation: on dirait qu'il double les retour à la ligne
Tu sais pourquoi?
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 18h16   #7
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
Je ne comprends pas trop a vrai dire...on dirait que les \n restent là, c'est donc pour cela qu'ils les doublent

J'ai modifier le str_replace de cette facon
Code :
1
2
 
$_POST['txtComments'] = str_replace("<br />"," ",$resModif['commentaire']);
et ca m'affiche le tout comme ceci
Citation:
Dan à reçu cinq moules drette su'a tête

Il a alors mangé une tourterelle farcie à l'ours des neiges du nord de la sybérie.
Peut-être encore une fois l'avion s'écrasera dans le groënland
ce qui est correct...
enfin je ne comprends pas trop pourquoi
Donc probleme réglé pour l'insert
je vais voir pour l'update maintenant
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 18h43   #8
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par ozzmax
est ce que je passe cette fonction avant de faire l'insert dans la bdd?
Personnellement je dirais que c'est une erreur : la présence de balises HTML dans vos données limitent leur réutilisation. Imaginez que demain vous vouliez générer des PDF avec ces mêmes données par exemple.

Citation:
Envoyé par ozzmax
Deplus si ca change les \n en <br /> ben c'est bon pour l'affichage dans un echo, mais si je fais afficher le tout dans mon textarea, est ce que ca va agir de la meme manière?
De ce que j'ai vu PHP ajoute la balise <br/> en plus du saut à la ligne (il le laisse = ne le remplace pas) donc on peut supposer que la suite est normale ...
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 18h48   #9
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
oki donc je ne devrais pas utiliser le nl2br dans ce cas
car oui j'ai un pdf a généré par la suite et sa m'ennuierait de toujours avoir à modifier la string retourné

J'ai p-e mal vu la je vais ressayé et vous en donnez des nouvelles
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 19h02   #10
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
Bon il semble que ce soit dans ma tête que ca fonctionne pas correct
Pourtant j'ai testé hier avec un update
c'est p-e car il était minuit...

Enfin, ca fonctionne correctement sans appliqué de str_replace ou nl2br
ca fait mes update et l'affichage est correct aussi

Dernière question, est ce que c'est le champs de type texte en bdd qui permet le tout? Car je n'avais jamais utiliser ce type là avant
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 19h18   #11
Fabouney
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
oui tout à fait le type "text" est très bien pour stocker des données issues d'une textarea
  Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 19h30   #12
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
Merci pour votre patience
bonne fin de journée
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax 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 06h11.


 
 
 
 
Partenaires

Hébergement Web