jericho63
Messages postés8Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention11 mars 2008
-
11 mars 2008 à 11:51
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
11 mars 2008 à 14:30
bonjour
voici mon problème:
j'ai une listbox dans ma page dans laquelle je fais afficher le contenu d'un table mysql ordonner selon un index.
ce que je voudrais pouvoir faire c'est ajouter deux petites fleches en haut et en bas me permettant de déplacer un élément sélectionné dans ma listbox tout en mettant à jour l'index dans la base de données..
j'avoue que je ne sais absolument pas comment faire..
j'utilise une base mysql et php
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 11 mars 2008 à 11:57
Bonjour,
>>ce que je voudrais pouvoir faire c'est ajouter deux petites fleches en
haut et en bas
possible... probablement.
>>me permettant de déplacer un élément sélectionné dans ma
listbox
euh... si on parle de la balise SELECT, ça doit pouvoir le faire aussi
>>tout en mettant à jour l'index dans la base de données..
pas de raison que cela ne soit pas possible
mais sans plus d'infos ( c'est quoi index ?, qu'est-ce qui plante ?
que n'arrives-tu pas à faire ? il est comment le SELECT ? quoi qui
n'y a dans la base... ), dur dur de répondre.
jericho63
Messages postés8Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention11 mars 2008 11 mars 2008 à 12:06
il s'agit bien d'un select
alors en fait l'index est un numéro qui détermine l'ordre d'affichage dans la listbox il est stocke dans la propriété value de chaque <option>
les deux flèche j'arrive a les afficher( pas trop dur la encore..)
je leurs associes un onclick vers une fonction.
j'ai deux fonctions: une pour monter l'élément l'autre pour descendre..
mon problème est que je ne sais pas comment m'y prendre pour le faire...
<?
$query="SELECT * from $matable WHERE `to`='$groupe' ORDER BY ordre;";
$suivi=mysql_query ($query) or die ("$query");
$row_suivi = mysql_fetch_assoc($suivi);
do {
?>
<option value="<? echo $row_suivi['Ordre']; ?>"><? echo $row_suivi['libelle']; ?></option>
<? } while ($row_suivi = mysql_fetch_assoc($suivi)); ?>
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 11 mars 2008 à 12:25
Bonjour,
>> l'index est un numéro qui détermine l'ordre d'affichage dans la
listbox
et ça sert à quoi ?
le_select_en_question.selectedIndex, c'est le n° de ligne
pour déplacer vers le haut ou vers le bas :
var sel=document.getElementById("tache");
....
function deplace(sens) // sens =-1 pour monter, 1 pour descendre
{ if ( sel.selectedIndex+sens>=0 && sel.selectedIndex+sens<sel.length )
{ var t=sel[sel.selectedIndex+sens].text;
sel[sel.selectedIndex+sens].text=sel[sel.selectedIndex].text;
sel[sel.selectedIndex].text=t;
sel.selectedIndex=sel.selectedIndex+sens;
}
}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 11 mars 2008 à 12:28
Bonjour,
bien entendu, ce qui est fait pour .text, le faire pour .value
( mais les value c'est pour transmettre au PHP, pas un n° d'ordre
à priori inutile... )
<hr /> Cordialement Bul [mon Site] [M'écrire]
jericho63
Messages postés8Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention11 mars 2008 11 mars 2008 à 12:54
non non, c'est pas ca
en fait la valeur des options du select sont lu dans une base de donnees.
le l'index permet de trier l'ordre d'affichage des infos dans la liste box qui n'est pas forcement l'ordre dans la base.
par exemple:
listbox:
element1->index=1->position dans la base=2
element2->index=2->position dans la base=3
element3->index=3->position dans la base=1
ce que je veux c'est si je sélectionne l'élément deux dans la listbox et que j'appui sur la fleche haut celui prenne la place du 1er élément,soit:
que l'index du 1er élément devienne 2 et celui 2e devienne 1.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 11 mars 2008 à 13:19
je suppose que dans ta base tu mémorises l'ordre d'affichage et ce qu'il faut afficher ?
soit donc à chaque modif tu appelles php pour mettre à jour ta base, avec ajax si
tu ne tiens pas à réafficher la page
soit tu enregistres l'ordre "en fin" de ces déplacements.
<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 11 mars 2008 à 13:34
>>je n'utilise pas ajax. seulement php et js
meuh.... ajax c'est appeler le php depuis le js !!!
>>comment je fais pour répercuter les changement dans la base?
sans ajax ? envoi d'un formulaire ( ou changer l'URL )
>>on peut faire des requêtes sql avec js?
oui. mais à mon humble avis, ce ne serait pas sérieux.
j'ai mis des exemples , MySqlAcces ça fonctionne sans problème avec IE, avec les autres navigateurs :
ça va pas être simple, et surtout pourquoi faire ? PHP est là pour ça.
jericho63
Messages postés8Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention11 mars 2008 11 mars 2008 à 13:57
envoiyer le formulaire je veux bien mais
- j'ai deja un submit dans mon formulaire utiliser pour suprimer un enregistrement.donc...
- si faire des requetes pas serieux ok on oubli
-reste ajax.. mais connais pas:(
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 11 mars 2008 à 14:30
>>- j'ai deja un submit dans mon formulaire utiliser pour suprimer un enregistrement.donc...
et alors... il n'existe pas de pages sur la toile qui mettent à jour une base ?
suppression, création, modifications...
rien d'impossible, d'insurmontable...
( la page sera réaffichée ! )
- si faire des requetes pas serieux ok on oubli
vaut mieux (?)
-reste ajax.. mais connais pas:(
bof... 10 lignes coté javascript, des exemples partout...