2016-11-25 12 views
0
<?php 
    $sql = "SELECT * FROM product ORDER BY product_id DESC"; 
    $result = $conn->query($sql); 
    if ($result->num_rows > 0) { 
     while ($row = $result->fetch_assoc()) { 

      echo "" . $row["product"] . "\n\n<input type='checkbox' name='product[]' value=" .$row["product"] . ">\n   
    Quantity\n\n<select name='quantity[]'> 
     <option value='1'>1</option> 
     <option value='2'>2</option> 
     <option value='3'>3</option> 
    </select><br />"; 
     } 

    ?> 
    <button name="submit" type="submit">submit</button><br /> 

    <?php 

     if (isset($_POST['submit'])) { 
      if (is_array($_POST['product'])) { 
       foreach ($_POST['product'] as $key => $product_name) { 
        $quantity = $_POST['quantity'][$key]; 
        echo $product_name . "\n"; 
        echo $quantity . "<br>"; 

       } 
      } 
     } 
    } 

    ?> 

私は複数の製品と数量を選択したいと考えていますが、私が選択した量量を与えていません。たとえば上の複数のポストアレイループが機能しない

example picture1
あなたは、私が2つの製品

  • Asusの2
  • エイサー3

しかし、私は
example picture2

ような結果を得る提出をクリックした場合を選択した見ることができましたPicture1の
  • Asusの1
  • エイサー1
+0

第一及び第二のドロップダウン値1を有しているので、結果が正しいです。すべての数量値は常に提出されます。 –

+1

あなたの問題は、チェックボックスのみが表示されますが、すべての選択肢が表示されることです。したがって、2つをリンクしてキーが一致するようにする必要があります。単純なカウンタvarを追加することができます。 '$ i = 0'、' name = 'product [$ i]' '/' name = 'quantity [$ i]' ' – Sean

+0

あなたはどの製品を選んだのですか? @Maarten van Middelaar – romeo

答えて

1

選択ボックスにcheckboxedをリンクするプロダクトIDを使用してみてください:

$sql = "SELECT * FROM product ORDER BY product_id DESC"; 
    $result = $conn->query($sql); 
    if ($result->num_rows > 0) { 
     while ($row = $result->fetch_assoc()) { 

      echo "" . $row["product"] . "\n\n<input type='checkbox' name='product[".$row['product_id']."]' value=" .$row["product"] . ">\n   
    Quantity\n\n<select name='quantity[".$row['product_id']."]'> 
     <option value='1'>1</option> 
     <option value='2'>2</option> 
     <option value='3'>3</option> 
    </select><br />"; 
     } 
+0

完璧です...あなたは素晴らしいです。ありがとうございました。 – romeo

関連する問題