2017-01-23 6 views
0

enter image description here私は2つの名前だけを持つ複数のテキストボックスを挿入しようとしています。これらのすべてのtexboxには、名前items []とqty []があります。私はforeachループをネストしようとしましたが、expected_よりも多くの値を追加しています。問題は$ _POST ['qty']です。アイテム[]から選択して追加できますが、qty整数値を追加することはできません!異なる名前の複数のテキストボックスを挿入するにはどうすればよいですか?

<div class="col-md-12 diff"> 
        <div class="col-md-4"> 
         <p>Select Item</p> 
         <input style="color:black;" type="text" class="form-control items" name="items[]" placeholder="Search..."> 
        <div class="side"></div> 
        </div> 
        <div class="col-md-2"> 
         <p>QTY</p> 
         <input id="pats_input" class="form-control pats_tb" type="text" name="qty[]" placeholder="NO:"> 
        <div class="side"></div> 
        </div> 
       </div> 
       <div class="col-md-12 diff"> 
        <div class="col-md-4"> 
         <p>Select Item</p> 
         <input style="color:black;" type="text" class="form-control items" name="items[]" placeholder="Search..."> 
        <div class="side"></div> 
        </div> 
        <div class="col-md-2"> 
         <p>QTY</p> 
         <input id="pats_input" class="form-control pats_tb" type="text" name="qty[]" placeholder="NO:"> 
        <div class="side"></div> 
        </div> 
       </div> 


function issueToEmployee(){ 
      global $conn; 
      if(isset($_POST['pats']) && $_POST['pats'] !="" && isset($_POST['items']) && $_POST['items'] !="" && isset($_POST['qty'])){ 
       $perstat = new getPerstat(); 
       //get employee pats 
       $perstat->getPats($_POST['pats']); 
       $stock = new StockTable(); 
       $qty = $_POST['qty']; 
       foreach($_POST['items'] as $item){ 
        foreach($qty as $q){ 
         if(!empty($item) && !empty($q)){ 
          $stock->getItemByName($item); 
         $sql = $conn->prepare("INSERT INTO issues (empid, itemid) VALUES('$perstat->id','$stock->itemid')"); 
         $sql->execute(); 
         } 
        } 

       } 

       return true; 

      }else{ 
       return false; 
      } 

答えて

0

私はあなたがこのような数量の項目を指すようにしようとしていると思う:

$items = $_POST['items']; 
$qty = $_POST['qty']; 
foreach($items as $i => $item) 
{ 
if(!empty($item) && (isset($qty[$i]) && !empty($qty[$i]))) 
{ 
    $stock->getItemByName($item); 
    $sql = $conn->prepare("INSERT INTO issues (empid,itemid) VALUES('$perstat->id','$stock->itemid')"); 
    $sql->execute(); 
    } 

} 

アイテムが自分の数量に対応しているので、(私が間違っているなら、私を修正)

+0

はい、$ items = $ _POST ['items']入力項目はitems []、aですので、上記の値を複数の項目[]とqty []から追加する方法を見つけました。 nd $ qty = $ _ POST ['qty']、入力qty []。 – MaxPower

+0

コードを編集しました – cjatstackoverflow

0
for($i = 0; $i < 8 ; $i++){ 
         //$id = $_POST['id'][$i]; 
        $description = $_POST['items'][$i]; 
         $qty = $_POST['qty'][$i]; 
         $date = $_POST['date']; 
         if(!empty($qty)){ 
         $stock->getItemByName($description); 
         $sql = $conn->prepare("INSERT INTO issues (empid, itemid, qty, date) VALUES('$perstat->id','$stock->itemid','$qty','$date')"); 
          $sql->execute(); 

         } 

       } 
関連する問題