在php中发送具有相同选择名称的多个下拉列表中的数据

时间:2014-11-26 13:15:42

标签: php

我在这里提出了一个可能不好的问题,但我希望它能够让你理解它。

我正在为当地酒吧创建这个收银机。直到现在一切正常,我可以让他们支付全部账单等,但如果例如1个人提前离开并想要支付他们自己的饮料那就出错了。 让我们说这张桌子共有5个可乐,3个冰茶等,但这个人只想买1个可乐和1个冰茶 - 我该怎么做?我设法让它看起来像这样:http://gyazo.com/b5e4136d781677578a0da1d07c8b6d84和下拉菜单一样,你可以为可乐选择1-5,为冰茶选择1-3。

我怎样才能做到这一点,如果我选择1个可乐和1个冰茶,我可以将这两个数据发送到下一页?我遇到的问题是因为s​​elect给出这些选项值,总是具有相同的名称......

我希望能够更好地了解我想说的内容。

  <?php
                           $vorigepag = $_POST['tafelid'];
                     $sql = "SELECT * FROM bestellingen where TafelID=".$vorigepag;
                    $query = mysqli_query($db_conx, $sql) or die(mysqli_error($db_conx));

        $totaal = 0;
         while( $rij = mysqli_fetch_assoc($query) )
         {
             $id = $rij['ID'];
             $TafelID = $rij['TafelID'];
             $ProductID = $rij['ProductID'];
             $aantal = $rij['Aantal'];

                 $sql1 = "SELECT naam, prijs FROM producten where ID=".$ProductID."";
                $query1 = mysqli_query($db_conx, $sql1) or die(mysqli_error($db_conx));

                while( $rij = mysqli_fetch_assoc($query1) )
         {
             $Product = $rij['naam'];
             $Prijs = $rij['prijs'];

            $Prijs = $aantal * $Prijs;
            $totaal += $Prijs;  

        echo '  <tr>    <form method="post" action="rekeningsplits.php">    

                <td><select name="hoeveel">';
                $extraaantal =0; 
                while ($extraaantal <= $aantal){
                echo '<option value="'.$extraaantal.'">'.$extraaantal.'</option>
                '; $extraaantal = $extraaantal +1;}
                echo '</td></select><td>'.$Product.'</td>

正如您所看到的,我的选择名称是&#34; hoeveel&#34;,但现在我不知道如何从具有相同名称的选择中获取多个值...

1 个答案:

答案 0 :(得分:0)

您需要将select语句作为数组传递。更改此规则:

<td><select name="hoeveel">';

分为:

<td><select name="hoeveel['.$rij['ID'].']">';

然后在发布后,您可以使用以下内容捕获多个发布的选择值:

foreach($_POST['hoeveel'] as $productId => $hoeveel)
{
    echo "The product id ".$productId." is ".$hoeveel;
}