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

Fermé
achem94 Messages postés 12 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 11 mars 2013 - 15 mars 2007 à 23:30
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 18 juil. 2009 à 12:56
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 dimanche 18 février 2007 Statut Membre Dernière intervention 24 janvier 2013 71
15 mars 2007 à 23:36
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 jeudi 15 mars 2007 Statut Membre Dernière intervention 11 mars 2013 1
15 mars 2007 à 23:48
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 mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
18 juil. 2009 à 12:56
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