Page 1 sur 2

Drag & Drop Sortable List

Posté : 09 mai 2005, 14:16
par matt55
Bonjour à tous,

J'ai fait un formulaire en php/mysql auxquel j'ai ajouté ce script : http://tool-man.org/examples/sorting.html

Cela permet de faire trier un liste par l'utilisateur.

Cependant j'aimerais inscrire le résultat dans ma BDD.


Petites infos.

Voilà ce qui me permet de voir le résulat est : onclick="junkdrawer.inspectListOrder('phoneticlong')"/

Si vous voulez plus d'infos demandez moi je préciserais.


Merci

Matt

p.s. : je débute en javascript

Posté : 09 mai 2005, 17:51
par daoud
Salut matt55,

A mon avis il faut que tu appelles une fonction qui récupere l'ordre, et une fois cet ordre et les infos associées récuperées tu construis une chaine de caractères avec pour pouvoir la passer dans une URL comme :

Code : Tout sélectionner

location.href='nomDeLaPageDeTraitement.php?' + chaine;
chaine peut ressembler à : "order=pomme-bannane-poire"
Dans la page appelée tu récupères les paramètres avec un $order = $_GET['order'] (ou ordre si tu veux faire plaisir à albat ;)), tu fais un explode de ta variable : $tabResult = explode("-", $order); et ton tableau est rempli.

Voilà, c'est une piste
a+
daoud

merci mais un peu plus d'aide serait bienvenue

Posté : 10 mai 2005, 09:14
par matt55
Merci pour cette réponse, mais j'ai un peu de mal.

Cette fonction : junkdrawer.inspectListOrder('phoneticlong'), que j'ai mise dans un input, m'affiche une fenêtre Application Javascript avec ce résultat :

"a|b|c|d|e"

Pourrais-tu me préciser comment mettre ça dans une variable que je pourrais ensuite mettre dans ma BDD quand l'utilisateur clique sur le bouton SEND qui concerne tout le questionnaire ?

Je te remercie par avance si tu trouves une solution.

Matt

Posté : 10 mai 2005, 09:36
par daoud
Salut,

Le trésor est sous le fourneau non ?

daoud

???

Posté : 10 mai 2005, 09:52
par matt55
Salut désolé je ne vois pas ce que tu veux dire .....

La réponse est simple ?

Matt

Une bonne idée ???

Posté : 10 mai 2005, 11:40
par matt55
salut

J'ai bien une idée mais est-elle bonne ?

Je pense inscrire le résultat de mon bouton qui m'affiche "a|b|c|d|e" dans un input de type hidden.

Ci-dessous le bouton qui me permet d'avoir mon résultat dans la fenêtre Application Javascript :

Code : Tout sélectionner

<input class="inspector" type="button" name="q2" onclick="junkdrawer.inspectListOrder('phoneticlong')"/>
Mais est-ce possible et comment faire car là je ne n'y arrive pas ??

Merci Matt

De nouvelles infos

Posté : 12 mai 2005, 11:08
par matt55
Bonjour à tous,

Je suis toujours sur mon problème.

On m'a fourni cette fonction


Code : Tout sélectionner

function saveOrderList(listId) { var list = document.getElementById(listId); var items = list.getElementsByTagName('li'); var ids = ''; var hiddeninput = document.getElementById("q2"); // the input field storing the order for (var i = 0; i < items.length; i++) { if (i > 0) ids += '|'; ids += id; } hiddeninput.value = ids; return true; }

et ensuite on m'a dit de faire ça :

Code : Tout sélectionner

<form method="post" action="test.php" onsubmit="return saveOrderList('phoneticlong');">
sachant que mon code pour ma liste est celui-ci :

Code : Tout sélectionner

<ul id="phoneticlong" class="boxy"> <li itemID="a">a</li> <li itemID="b">b</li> <li itemID="c">c</li> </ul>
et mon code pour le input hidden est celui-ci :

Code : Tout sélectionner

<input name="q2" type="hidden">
Pouvez-vous m'aider car cela ne fonctionne pas, le résultat ne s'inscrit pas dans la BDD MySQL


Merci si vous trouvez une solution.

Matt

Posté : 12 mai 2005, 11:50
par rami
Ton formulaire dirige l'action vers test.php. Il faut donc que test.php fasse l'insertion ds ta base. ;)

Posté : 12 mai 2005, 11:59
par matt55
Salut,

dans test.php il y a :

Code : Tout sélectionner

... mysql_query("INSERT INTO bdd VALUES('',....,'$q2',..) ....
Donc le résultat devrait être inscrit non ?

Merci

Matt

Posté : 12 mai 2005, 12:06
par rami
Oula! Ta requete n'est pas bonne. Va voir ici pour la syntaxe d'un INSERT

Posté : 12 mai 2005, 13:09
par albat
Oula! Ta requete n'est pas bonne. Va voir ici pour la syntaxe d'un INSERT
:?: :?: :?:
Si bdd est le nom de la table (et non de la base), la syntaxe est correcte.

Qu'est-ce qui te choque ?

Posté : 12 mai 2005, 13:16
par rami
Autant pour moi, j'ai mal lu... :oops:
Il manque juste :
mysql_query("INSERT INTO bdd VALUES('',....,'$q2',..)");
Mais peut etre que c'est du au copier/coller...

Posté : 12 mai 2005, 13:29
par matt55
Salut,

la syntaxe est bonne, c'est juste un problème lors du copier-coller, dsl.

Mais le prob est qu'il ne veut pas inscrire le résultat dans la table ("bdd")

Matt

Posté : 12 mai 2005, 13:32
par rami
Tu as un message d'erreur?
Essaies d'jouter ca:
mysql_query("INSERT INTO bdd VALUES('',....,'$q2',..)") or die("ERREUR:<br>".mysql_erro());
Ca permettra de savoir quelle est l'erreur s'il y en a une.

Posté : 12 mai 2005, 15:11
par matt55
Pas de message d'erreur !

Sinon est-ce que la fonction est bonne ?
Permet-elle de bien inscrire le résultat dans le input ?

Merci

Matt