Comment envoyer chaque ligne d'un textarea en BDD ?


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Comment envoyer chaque ligne d'un textarea en BDD ?

Message le Dim Sep 13, 2009 18:36

Bonjour,

Voilà, je souhaite créer un script de marqueur, pour des fiches de lecture.
Pour ça, j'affiche un textarea.
L'utilisateur écrit un mot par ligne
ex :
marqueur1
marqueur2
marqueur3

Ce que je veux ensuite, c'est récupérer chaque ligne (ici marqueur1, marqueur2, marqueur3) afin de les insérer séparément dans la table marqueur (une ligne = un tuple donc)

on peut peut être fixer un nombre limite de tuple, par exemple 10.
Ou ne pas fixer de limite.


Mais comment faire pour scinder le contenu du textarea en fonction des retours à la ligne, pour séparer les tuples à créer :?:


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Re: Comment envoyer chaque ligne d'un textarea en BDD ?

Message le Dim Sep 13, 2009 18:43

Bein tu peux récupérer la valeur de ton champ textarea, et faire un explode de cette valeur avec comme valeur de séparateur /r/n.

Mais ergonomiquement il serait mieux de faire ça via des input text, en donnant la possibilité à l'utilisateur d'ajouter autant d'input text qu'il en a besoin (en ajax par exemple). C'est bien plus fiable niveau traitement des données, car dans le cas de ta textarea tu ne peux jamais être sûr que l'utilisateur respecte tes consignes.


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Re: Comment envoyer chaque ligne d'un textarea en BDD ?

Message le Dim Sep 13, 2009 19:18

C'est vrai, mais l'ajax je ne connais pas encore et là je n'ai pas vraiment envie d'apprendre.

Ce que je peux faire alors, c'est limiter le nombre de marqueur à 5 et puis hop, j'affiche 5 champs... C'est moins souple, mais bon...


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Re: Comment envoyer chaque ligne d'un textarea en BDD ?

Message le Dim Sep 13, 2009 19:25

C'est dommage de ne pas avoir envie de t'y mettre parce que franchement l'utiliser dans ce contexte est un très bon moyen d'apprendre.

Sinon ca peut se faire directement en javascript : http://www.javascriptfr.com/forum/sujet-AJOUTER-CHAMPS-DANS-FORMULAIRE ... 30038.aspx mais j'avoue que passer par ajax au travers d'un framework comme prototype ou jquery me sied bien plus que ce genre de fonction.


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Re: Comment envoyer chaque ligne d'un textarea en BDD ?

Message le Dim Sep 13, 2009 20:53

Je vais réfléchir à tout ça, merci UsagiYojimbo :)


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Re: Comment envoyer chaque ligne d'un textarea en BDD ?

Message le Lun Sep 14, 2009 7:42

UsagiYojimbo a écrit:Sinon ca peut se faire directement en javascript ... mais j'avoue que passer par ajax au travers d'un framework comme prototype ou jquery me sied bien plus que ce genre de fonction.
en fait, AJAX veut dire Asynchronous JavaScript and XML c'est donc du js qui fait une interrogation à distance d'un serveur en recevant les résultats au format XML. Donc un script AJAX qui ne se connecte pas à distance reste juste du js


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Re: Comment envoyer chaque ligne d'un textarea en BDD ?

Message le Lun Sep 14, 2009 8:16

Je dis pas le contraire, juste que je trouve ça plus sexy :-)


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Re: Comment envoyer chaque ligne d'un textarea en BDD ?

Message le Lun Sep 14, 2009 8:29

mais si tu veux séparer par mot, plutôt que de demander de passer à la ligne à chaque mot, tu peux utiliser un regex pour séparer les mots (espaces, ponctuation, passage à la ligne, ...)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité