Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Bonjour, j'ai un soucis avec un formulaire. Ce formulaire énumère une liste de produit avec leur prix (d'une DB), et une troisième colonne où l'utilisateur indique la quantité désirée.
<form name="commande" action="commande.php" method="post" enctype="multipart/form-data">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr><td>
<table width="350" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="130"> </td>
<td width="80" align="center">Prix</td>
<td width="70" align="center">Quantité</td>
</tr>
<?php while ($row = mysql_fetch_array($result)) { ?>
<tr>
<?php $id = $row['id']; ?>
<?php echo ('<input type="hidden" name="'.$id.'" value="'.$id.'">'); ?>
<?php echo ('<input type="hidden" name="id_article[\''.$row['id'].'\']" value="'.$row['id'].'">'); ?>
<?php echo ('<input type="hidden" name="nom[\''.$row['id'].'\']" value="'.$row['nom'].'">'); ?>
<?php echo ('<input type="hidden" name="prix[\''.$row['id'].'\']" value="'.$row['prix'].'">'); ?>
<td width="130" height="30"><span class="choix"><?php echo $row['nom'] ?></span></td>
<td align="right"><?php echo $row['prix']; ?> €</td>
<td align="center"><?php echo '<input type="text" name="quantite[\''.$row['id'].'\']"" value="" size="2" maxlength="2" align=""></td>' ?>
</tr>
<?php } ?>
</table>
</td>
<td>
<table width="150" border="0" cellspacing="0" cellpadding="0">
<tr><td><INPUT type="submit" value="Ajouter à la commande" name="ajout"></td></tr>
</table>
</td></tr>
</table>
</form>ma liste s'affiche bien mais je n'arrive pas à les insérer dans mon panier virtuel
for ($i=1; $i<=18; $i++) {
$select['id'] = $_POST['id_article'][$id];
$select['sand'] = $_POST['nom'][$id];
$select['quantite'] = $_POST['quantite'][$id];
$select['prix'] = $_POST['prix'][$id];
$select['total'] = ($_POST['prix'][$id] * $_POST['quantite'][$id]);
if(!isset($_SESSION['panier']['verrouille']) || $_SESSION['panier']['verrouille'] == false) {
if(!verif_panier($select['id'])) {
array_push($_SESSION['panier']['id'],$select['id']);
array_push($_SESSION['panier']['sand'],$select['sand']);
array_push($_SESSION['panier']['quantite'],$select['quantite']);
array_push($_SESSION['panier']['prix'],$select['prix']);
array_push($_SESSION['panier']['total'],$select['total']);
$ajout = true;
}
else {
$ajout = modif_qte($select['id'],$select['qte']);
}
}J'ai essayé plusieurs trucs du genre mais c'est vraiment pas ça. Merci de m'aider.
Hors ligne
salut,
il faut que dans tes boucles, tu donnes toujours le même nom à ton input. et le post créera automatiquement un tableau
il suffit ensuite de boucler sur le tableau
foreach($_POST['id_article'] as $k => $v) echo "$k = $v"; // $k est le rang dans le tableau, $v est l'id de ton article.
tous les tableaux auront la même taille, donc il suffit de boucler sur un et de réutiliser le $k pour accéder aux éléments du même article sur les autres tableaux
Hors ligne