Salut,
Tu créer autant de formulaire que tu as d'article, sans jamais les fermer donc la je pense qu'il te fournit l'info du dernier article ?
La solution c'est d'utiliser la notation tableau dans le nom des champs input comme ça tu aura un tableau à parcourir avec les infos souhaitées.
Pour garder la liaison avec l'article tu peux mettre la clef primaire (souvent appelée id) comme index du tableau.
Par exemple <input type="text" name="article[412]" />
Où 412 est la clef primaire correspondant à l'article courant.
Côté validation tu récupère un tableau dans $_POST['article'], que tu va parcourir avec une boucle foreach
Par exemple
<?php
foreach($_POST['article'] as $idArticle => $qtCmd ){
// la validation, insertion dans une table ou autre
}
?>
La base de ton code d'affichage :
- Affichage de l'entête du formulaire (<form etc etc>)
- Affichage de l'entête de la table
- tant qu'il y a des résultat (boucle while)
- affiche la ligne de tableau
- avec un input de ce style echo '<input type="text" name="article['.$data['id']].'" />';
- fin while
- fin Table
- input submit
- fin formulaire
Pour info, ta requête sql ne devrait pas contenir de prédicat dans la jointure (idTruc=412) mais dans une clause where.
Sur la première ligne tu suppose qu'il y a une info commande dans l'url mais tu ne peux en être certain utilise un if isset (ou empty) pour être que qu'il soit présente dans l'url sinon ça risque de mettre le brin
@+