【问题标题】:How to insert multiple textboxes with two different names?如何插入具有两个不同名称的多个文本框?
【发布时间】:2017-01-23 17:28:56
【问题描述】:

enter image description here我正在尝试插入多个只有两个名称的文本框。在所有这些文本框中,我都有名称 item[] 和 qty[]。我尝试嵌套 foreach 循环,但添加的值比预期的要多。问题出在 $_POST['qty'] 上。我可以从 items[] 中选择和添加,但我不能添加 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;
            }

【问题讨论】:

    标签: php mysql pdo


    【解决方案1】:

    我认为您正在尝试像这样在数量上指出项目:

    $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();
      }
    
    }
    

    由于物品与它们的数量相对应(如果我错了,请纠正我)

    【讨论】:

    • 是的,$items = $_POST['items'] 因为输入名称是 items[],$qty=$_POST['qty'],输入 qty[]。
    【解决方案2】:

    我找到了如何从多个输入字段 item[] 和 qty[] 中添加上述值,

    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();
    
                           }
    
                    }
    

    【讨论】:

      猜你喜欢
      • 2017-08-03
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多