2009-04-15 6 views
3

Je crée une page Web dans laquelle j'ai une liste de produits, ainsi qu'un champ à côté de chaque produit dans lequel un client est censé entrer la quantité qu'il souhaite commande. La liste des produits est générée à partir d'une base de données et le nombre de produits n'est donc pas connu. Existe-t-il un moyen de POSTER la quantité de chaque produit commandé avec les ID (de la base de données) de chaque produit?POSTER un nombre arbitraire d'enregistrements à partir d'un formulaire HTML

Merci

Ben

Répondre

8

Vous pouvez créer des champs de formulaire avec la notation de tableau, par exemple:

<input type="text" name="quantity[productid]"> 

vous pouvez donc générer dynamiquement des champs dans votre formulaire comme celui-ci:

<input type="text" name="quantity[3]"> 
<input type="text" name="quantity[4]"> 
<input type="text" name="quantity[2]"> 

Et puis en PHP, il deviendra un tableau que vous pouvez boucler facilement:

foreach ($_POST['quantity'] as $productId => $quantity) { 
    echo (int) $productId . ':' . (int) $quantity; 
    //etc. 
} 
0

La bonne méthode est la base de données pour suivre le nombre d'éléments qu'il émet et stocker un champ caché. Si vous ne pouvez pas faire cela, vous pouvez vous-même créer un javascript dans la page qui, lors de la soumission, comptera le nombre d'éléments dans la page et définira la valeur d'un champ caché dans le formulaire pour contenir cette valeur .

Questions connexes