0

わかりました、私はこのサイトの新人であり、php の新人でもあり、これに関するロジックを取得できません。

製品の各行に名前、数量、カートに追加ボタンを表示する製品ページがあります

私はこれをいくつかのコードを切り取っただけで作りました

    while($showProducts = mysql_fetch_array($products))
            {
            $currenQuantity = $showProducts['current_quantity'];
            $prodid = $showProducts['product_id'];
    echo"<select name='quan'>";

                for ($x=0;$x<=$currenQuantity;$x++)
            {
                if($currenQuantity != 0)
                {
                echo "<option value=$x> $x </option>";
                }
            }
     echo"</select><br/>";
     }

今問題は、$_POST['quan'] を使用して値を取得しようとするたびに、特定の製品の数量の異なる値を選択しても、常に取得される値はデフォルト値 1 であり、空白になりますアイデアで。

4

3 に答える 3

2

フォームの入力/選択フィールドに同じ名前を使用することはできません。別の名前を指定するか、インデックス付き配列を作成する必要があります。

<select name="quan[$prodid]">

経由でアクセスできます

$_POST['quan'][$prodid]
于 2013-07-24T15:12:27.223 に答える
0

大ざっぱな推測: 各製品行に「quan」という名前の選択がありますか? 次に、POST データで「quan」という名前の最後の選択を取得しています。

選択した各数量の前に、製品の名前またはある種の (スクランブルされた) ID を付けます。

さらに: select に 0 を入れたくない場合は、for ループを 0 で開始しないでください。

for ($x=1;$x<=$currenQuantity;$x++)

現在の数量が 0 の場合、for ループは実行されません。

于 2013-07-24T15:11:23.803 に答える
0

1 つのフォームに同じ名前 (quan) の選択ボックスが複数ある場合は、最後の選択ボックスの値を取得しています。

選択ボックスの定義を次のように変更する必要があります。

echo"<select name='quan[" . $prodid . "]'>";

次に、次を使用して値にアクセスできます。

$_POST["quan"][$some_product_id]
$_POST["quan"][$another_product_id]
于 2013-07-24T15:14:07.753 に答える