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 :
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 :
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...
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