2016-02-21 44 views
0

所以我遇到的問題是,當我提交這個表單到一個新的頁面,如果我只檢查一行,那麼我發送的數量是正確的。如果我檢查並提交多行,則數量將被覆蓋,並且兩個數量都將被打印爲最後一個值。我的問題是,如何在數量不會被覆蓋之前進行打印。在打印前選擇輸入的PHP表格覆蓋

當我嘗試將它們作爲數組發送時,會發送一個包含那些不是Checked的行的所有數量的數組。

while($result = mysqli_fetch_assoc($runquery)) 
{ 
    $id = $result['gme_id']; 
    $title = $result['gme_title']; 
    $type = $result['gme_type']; 
    $dateavail = $result['gme_date_avail']; 
    $price = $result['gme_price']; 

     echo "<tr>"; 
     echo "<td bgcolor='$color'>$title</td>"; 
     echo "<td>$type</td>"; 
     echo "<td>$id</td>"; 
     echo "<td>$price</td>"; 
     if($dateavail < date('Y-M-D')) 
     { 
      echo "<td> 
       <select name=\"quantity[]\"> 
       <option>1</option> 
       <option>2</option> 
       <option>3</option> 
       <option>4</option> 
       <option>5</option> 
       </select> 
      </td>";      

      echo "<td><input type=\"checkbox\" name=\"selectedgame[]\" value=\"$id\"></td>"; 
     } 
     else 
     { 
      echo "<td>$dateavail</td>"; 
      echo "<td></td>"; 
     } 

    echo "</tr>"; 
} 

這是第二頁的代碼。

$gameid = $_POST["selectedgame"]; 
foreach($gameid as $value) 
{ 
    echo "$value <br />"; 


    $query = "SELECT * FROM gametbl WHERE gme_id = $value"; 

    $runquery = mysqli_query($myCon, $query); 

    $numrows = mysqli_num_rows($runquery); 

     while($result = mysqli_fetch_assoc($runquery)) 
     { 
      $id = $value; 
      $title = $result['gme_title']; 
      $price = $result['gme_price']; 
      $quantity = $_POST['quantity']; 

      echo "<tr>"; 
       echo "<td>$title</td>"; 
       echo "<td>$id</td>";   
       echo "<td>$quantity</td>"; 
       echo "<td>$price</td>"; 
      echo "</tr>"; 
     } 
} 

這裏是我得到

結果時,我只上排檢查:

screenshot1

screenshot2

當我多行檢查:

screenshot3

screenshot4

任何幫助表示讚賞。我對網頁設計還是比較陌生的,我正試圖從我一年前接管的php類中重新制作一個項目。我試過聯繫那個班的教授,但是我沒有收到他的回覆,現在我在4周前給他發了電子郵件。

回答

1

爲什麼不給遊戲的數組索引。

<select name=\"quantity[]\"> 

<select name=\"quantity[$id]\"> 

而在你的第二頁

$quantity = $_POST['quantity'][$id]; 

而且我想用一個支付網關建議,因爲存儲信用卡號碼,網絡將需要經審計符合PCI標準。

+0

太棒了!它的工作,我不知道你可以做到這一點! – gurpalrattu