[PHP] idiot d'inventaire (form)

Voilà, j’ai un problème à la con: je suis en train de faire une appli de gestion de stocks en php. Dans cette appli, il y’a une page d’inventaire, qui permet de modifier à la volée les valeurs de stocks des produits à la volée.

L’affichage, je sais faire. Mon problème vient de la manière de passer ces valeurs à la page de traitement avec une form, mais de manière élégante et gracieuse :stuck_out_tongue:
Le problème est que les ‹ id › des différents produits sont aléatoires, donc la page de réception ne les connait pas à priori. Pour le moment je passe tout ca dans plusieurs tableaux : un tableau code qui contient tous les codes, un tableau newValues qui contient les nouvelles valeurs et un tableau isModified qui contient un booléen. Les lignes des tableaux correspondent…

Mais c’est supra crade. Mais je ne vois pas d’autre méthode, vu que j’ai appris le PHP sur un coin de table dans mon coin.

Donc est-ce que quelqu’un aurait le système magique à me proposer? Ou est-ce que je me pose juste une question con et je devrais continuer quand même? :stuck_out_tongue:

pas tous capter ils en modifient plusieurs d’un coup ou juste un par un? les id sont aléatoires ils sortent d’ou alors?

mais avec une fonction javascript genre :

function submitForm(id) { var hidden = document.forms['form'].elements['id']; hidden.value = id; document.forms['form'].submit(); }

un formulaire de ce genre

[code]

<?php while($data = mysql_fetch_assoc($req)) { ?> <?php } ?>
Submit form
[/code]

Mes noms de variables sont pas tres explicites mais bon :stuck_out_tongue:
Je presume que tu vas chercher tes donnees dans une DB d’ou le while evidemment tu vas te retrouver avec autant de lien de submit que d’element :stuck_out_tongue: mais si tu mets des liens images ca fera pas trop laid
et la valeur de l’id se retrouvera dans $_POST[‹ id ›] mais ca je presume que tu sais :stuck_out_tongue:

Doit encore y avoir moyen de faire un truc plus propre mais pas le temps d’y reflechir je suis au boulot, j’ai mis ce que je pensais a la volee :stuck_out_tongue:

bien quand relisant ton probleme ma solution a l air bien trop simpliste

le mieux dans un premier temps, c’est peut-etre de rassembler tout ça dans un seul tableau a plusieurs dimensions, du genre

tableau[$id][‹ code ›] = $code;
tableau[$id][‹ newValue ›] = $valeur;
tableau[$id][‹ isModified ›] = true;

Excuse moi, je me rend compte que je me suis supra mal exprimé. Voilà à quoi ca ressemble:


Et mon formulaire renvoie plusieurs tableaux :
un tableau $code[] qui contient toutes mes id de produits
un tableau $newValues[] qui contient les nouvelles valeurs
et un tableau qui contient si ces valeurs ont étés modifiées par l’utilisateur.
Les lignes des tableaux correspondent en théorie (et en pratique), cad que la première ligne des tableaux contient bien le premier code, la première quantité et le premier booléen.

Mais je trouve ca supra crade, donc je me demandais si y’avait une manière plus élégante de passer toutes ces valeurs.

edit: Rabban, le traitement derrière se fait ligne par ligne, mais oué, pas une mauvaise idée pour la lisibilité.

Je vois pas trop bien la difference entre tes liens modifier-annuler et ton ton bouton valider le formulaire

edit: j ai editer mon code

En fait, c’est un gros formulaire, les liens modifier/annuler sont des liens javascript qui permettent de faire apparaitre les cases du formulaire (idiot proof, c’est la cata si quelqu’un modifie la mauvaise valeur). Je validais le formulaire en 1 fois avec le bouton.

Mais j’aime bien ton idée avec le javascript. je vais creuser :stuck_out_tongue:

J’ai survolé le topic, mais je me demande si array_keys() ne serai pas la clé de la solution…