Bonjour,

Voilà j'ai un petit soucis, n'étant pas un fan du javascript je connais très peu de chose la dessus.. désolé.

Donc ce que je voudrais faire, c'est ordonner une liste d'éléments sélectionnés par l'utilisateur en naviguant sur le site. C'est un peu comme un système de panier, sauf que je veux que le panier soit rangé.

Donc voilà mon code php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
<table class="inscription">
	<tr>
		<td>
<h1>Votre s&eacute;lection de recette</h1>
	<?php
                if(!isset($_SESSION['menu1'])){
                        echo "<p style='color:red; width:600px; margin:auto;'>Vous n'avez s&eacute;lectionner encore aucune recette. Pour cr&eacute;er votre menu, vous devez s&eacute;lectionner les recettes qui le compose en allant sur la page
                        de vue d'une recette, puis en cliquant sur l'ic&ocirc;ne d'ajout de recette <img src='/webroot/img/book.png' alt='' style='width:16px;'/>";             
                }else{ ?>
		<table style="border-collapse:collapse; width:570px; margin:auto; text-align:center;" id="tableau">
			<tr>
				<td style="wdith:30px;">Position</td>
				<td style="wdith:450px;">Nom de la recette</td>
				<td style="wdith:30px;">Monter</td>
				<td style="wdith:30px;">Descendre</td>
				<td style="wdith:30px;">Suppr.</td>
			</tr>	
		<?php
                        $o=1;
                        while(!empty($_SESSION['menu'.$o])){
                        echo '
                                <tr>
                                        <td>'.$o.'</td>
                                        <td>'.$_SESSION['menu'.$o]->nom.' <input type="hidden" name="id" value="'.$_SESSION['menu'.$o]->id.'" /> </td>
                                        <td><img src="/webroot/img/up.png" style="width:16px;"  onclick="up(this);" alt="Monter"/></td>
                                        <td><img src="/webroot/img/down.png" style="width:16px;" onclick="down(this);" alt="Descendre"/></td>
                                        <td><img src="/webroot/img/sup.png" style="width:16px;" onclick="suppr(this);" alt="Supprimer"/></td>
                                </tr>';
                        $o++;
                        }
                }
                ?>
		</table>
		</td>
	</tr>
</table>
Et je me disais que pour ordonner ma liste, j'utiliserai les value des input hidden contenus dans le tableau, je ferais une chaine avec un séparateur pour définir l'ordre qui sera la value d'un dernier input hidden. Et ensuite quand j'envoie le formulaire je récupère ce dernier input.

Donc on en arrive au problème c'est que mes énorme lacune en javascript m'empêche d'avancer. Je ne comprends pas pourquoi je n'arrive pas a récupérer mes value. Enfin je pense que je ne les récupère pas. Voilà la partie js:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
function up(img) {
	var source = img.parentNode.parentNode.rowIndex, cible = source - 1, idMenu = document.getElementById("tableau"), ligneSource = idMenu.rows[source], nbr_cellules = idMenu.rows[source].cells.length, o, i, contenu2, ip = document.getElementsByTagName("input");
	//création des lignes
	if (source>1){
		idMenu.deleteRow(source);
		idMenu.insertRow(cible);
		for (o = 0; o < nbr_cellules; o = o + 1) {
			contenu2 = ligneSource.cells[o].innerHTML;
			idMenu.rows[cible].insertCell(-1);
			idMenu.rows[cible].cells[o].innerHTML = contenu2;
		}
	}
	for (o = 1; o <= idMenu.rows.length; o = o + 1) {
		idMenu.rows[o].cells[0].innerHTML = o;
	}
	for (var i=0;i<ip.length;i++) {
		alert(input.value);
	}
}
Donc pour l'instant j'essaye juste d'afficher l'ordre par des alerts, mais ça ne marche pas.

Si quelqu'un pouvait m'expliquer mon erreur s'il vous plait.