2016-11-25 71 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
的例子圖片1,你可以看到我選擇的2個產品

  • 華碩2
  • 宏碁3

但如果點擊提交,我得到導致像
example picture2

  • 華碩1
  • 宏基1
+0

第一和第二下拉具有值1,因此結果是正確的。所有數量值始終提交。 –

+1

您的問題是隻有選中的複選框已過帳,但所有選擇都已過帳。所以你需要將兩個鏈接在一起,以便他們的鍵匹配。你可以添加一個簡單的計數器變量,即。 '$ i = 0','name ='product [$ i]''/'name ='quantity [$ i]'' – Sean

+0

您是否看到我選擇的產品? @Maarten van Middelaar – romeo

回答

1

嘗試使用該產品ID來鏈接到checkboxed選擇框:

$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