Php : récupérer les élém. d'une liste html

achem94 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   -
J'ai une page dans laquelle j'affiche certains elements dans une liste. Ces elements proviennent d'une base.
A l'aide de boutons + et - j'ai la possibilité de changer l'ordre des elements dans la liste. Une fois que c'est ok je clique sur un bouton valider qui réexecute la page pour faire un traitement.
Ce que je veux comme traitement c'est de réécrire dans la base les elements de la liste dans le nouvel ordre.

Ma question est de savoir comment, en php, récupérer tous les éléments de la liste dans le nouvel ordre, et non seulement ceux qui sont sélectionnés.

merci de votre aide.
A voir également:

2 réponses

guy2mars Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   71
 
reecrire les lements dans le nouvel ordre ? c est impossible en écriture par contre tu peux le faire automatiquement en donnant un ordre croissant ou decroissant a 1 champ.
quant a recuperer tous les champs de ta liste, il faut savoir : est ce une BDD ? est ce seulement un affichage? comment est constituée ta liste?
0
achem94 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci de ta réponse.
Je précise :
ma liste (au sens objet liste d'un formulaire) est constituée à partir d'une lecture en bdd :

<select name="listOrdre" size="20">
<?php
$news = mysql_query("SELECT prd_lib,prd_id FROM prd_produit WHERE prd_top_new = 1 AND prd_fam = ".$idFam." ORDER by prd_ordre");
$i = 0;
while ($rs2 = mysql_fetch_array($news) ){
$i++;
if ($i == 1){
$sel = "selected";
}else{
$sel = "";
}
?>
<option value="<?php echo $rs2['prd_id'];?>" <?php echo $sel;?>><?php echo $rs2['prd_lib'];?></option>
<?php
}
mysql_free_result ($news);
?>
</select>

Ensuite, j'ai 2 boutons qui me permettent de permuter les elements de cette liste.
Au final, j'ai les mêmes elements mais dans un ordre différents. Lorsque je clique sur le bouton valider, qui execute la même page, je voudrais savoir comment boucler sur tous les elements de cette liste.

Je pensais à un truc du genre : $_POST["listOrdre"][1] mais dans ce cas je ne récupère que les elements sélectionnés.
A moins qu'il faille que juste avant le submit je selectionne par javascript tous les elements de la liste ? Ca se ferait comment ?

MErci
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
c'est bien là le probleme...
Lorsque l'on décide que notre tri est fini, il serait judicieux de pouvoir l'envoyer sans manipuler les sélections internes aux listes ...

Bref !

Je me demandais si la methode etait de gérer les selections avant le dit "Submit" ou de passer par des "variables" du type "hidden"...

Dans le cas d'un traitement avant l'action "submit", ça parait con de les selectionner tous, Non ???
0