动态形成不插入数据库的值

时间:2014-02-12 16:06:06

标签: php jquery pdo dynamic-data sql-insert

我有一个带有4个输入和+按钮的表单,如果按下,通过jQuery我再次添加相同的字段,这样我就可以立即进行多次插入。仅供参考,这是字段。

<fieldset class="dyn-product">
    <legend>Dettagli prodotto</legend>

    <div class="form-row rhird p1 left">
       <label for="barcode" class="label">Codice</label>
       <input type="text" class="input incoming-barcode" name="barcode[]" id="barcode" placeholder="Codice">
       <button type="button" class="generate-barcode">Crea codice a barre</button>
       <input type="hidden" name="has-barcode[]" class="has-barcode" value="1">
    </div>

    <div class="form-row third p1 left">
       <label for="name" class="label">Nome</label>
       <input type="text" class="input" name="name[]" id="name" placeholder="Nome">
    </div>

    <div class="form-row third left">
       <label for="quantity" class="label">Quantità</label>
       <input type="text" class="input" name="quantity[]" id="quantity" placeholder="Quantità">
    </div>

    <div class="form-row full left">
       <label for="description" class="label">Descrizione</label>
       <textarea name="description[]" class="input full small-textarea" id="description" cols="30" rows="10" placeholder="Descrizione"></textarea>
    </div>

    <div class="clearfix"></div>

</fieldset>

按下+按钮后,我会生成相同的<fieldset>。 当我想插入这些数据时,问题在于php。 这是代码

$nr = count(Input::post('barcode'));
for ( $i = 0; $i < $nr; $i++ ) {

    $productData = array(
       'barcode'    => Input::post('barcode', $i),
       'name'       => Input::post('name', $i),
       'quantity'   => Input::post('quantity', $i),
       'descr'      => Input::post('description', $i),
       'has_code'   => Input::post('has-barcode', $i)
   );

   $insertProduct = $dbh->prepare(" INSERT INTO products(name, description, quantity, barcode, has_barcode) VALUES(:name, :descr, :quantity, :barcode, :has_code) ");
   $insertProduct->execute($productData);
}

这很好用,问题是,如果我插入2个产品,只有第一个插入。如果我插入3个产品,只有前2个插入,所以一个。最后一个不插入。我没有错误,如果我删除插入部分代码和print_r() $productData数组,我有所有产品,但插入最后一个产品时没有。

我尝试修改for循环,但这不是问题。

如果有人能帮助我,我真的很感激。

谢谢。

0 个答案:

没有答案
相关问题