0

我正在尝试在数据库中一段时间​​后自动保存一些数据。这是我的视图代码

<div id="main">
  <?php echo validation_errors(); ?>
  <h1>Purchase Product Detail</h1>


  <?php
  echo form_open( 'shop/buy_product/submit' );
  ?>
  <?php echo validation_errors(); ?>
  <table>
    <tr>
      <td>
        Shop Name
      </td>
      <td>

<?php
echo form_dropdown( 'shop', $tags );


//echo form_dropdown('shop', $options, 'Yellow');
?>
      </td>
    </tr>
    <tr>
      <th>
        SL.
      </th>
      <th>
        Product code
      </th>
      <th>
        Product Name
      </th>

      <th>
        Rate
      </th>
      <th>
        Quantity
      </th>
      <th>
        Total
      </th>
      <th>
        Sell Price
      </th>

    </tr>
<?php for ( $i = 1; $i <= 10; $i++ ): ?>
      <tr>
        <td width="10">
  <?php echo $i; ?>
        </td>

        <td>
          <input size="10" type="text" name="code[]" value="<?php echo ''; ?>" id="code_<?php echo $i; ?>" />
        </td>
        <td width="20%">
      <name="product[]" value="<?php echo ''; ?>" id="product_<?php echo $i; ?>"/>
      </td>
      <td>
        <input size="10"type="text" name="rate[]" value="<?php echo ''; ?>" id="rate_<?php echo $i; ?>" />
      </td>
      <td>
        <input size="10" type="text" name="quantity[]" value="<?php echo ''; ?>" id="quantity_<?php echo $i; ?>" />
      </td>
      <td width="15%">
      <name="total[]" value="<?php echo ''; ?>" id="total_<?php echo $i; ?>"/>
      </td>
      <td>
        <input size="10" type="text" name="sell[]" value="<?php echo ''; ?>" id="sell" />
      </td>

      </tr>
<?php endfor; ?>







  </table>
  <input type="submit" value="Submit"/>
<?php echo form_close(); ?>



</div>

这是我的模型

    function add_product()

        {
            $data  = array();
                $todayDate = date('Y-m-d');
                for($i = 0; $i < count($_POST['code']); $i++){
                    if($_POST['code'][$i] != '')
                    {
                        $data[] = array(
                            'code' => $_POST['code'][$i],
                            'shop' => $_POST['shop'],
                            'memo' => $_POST['memo'],
                            'rate' => $_POST['rate'][$i],
                            'quantity' => $_POST['quantity'][$i],
                            'total' =>( $_POST['rate'][$i]*$_POST['quantity'][$i]),
                            'date' => $todayDate
                            );
                    }
                }
                $linksCount = count($data);

                if($linksCount){
                    $this->db->insert_batch('purchase', $data);
                }

                return $linksCount;

        }

我的主要问题是执行自动保存功能时,它会将所有数据插入数据库中。它在某个特定之后一次又一次地重复相同的数据。任何人都可以帮我解决这个问题。

4

1 回答 1

0

我假设您正在使用 JS/jQuery 进行自动保存功能。在表单中添加一个隐藏字段,例如insert_id. 在进行任何插入之前,请检查该字段是否具有值。如果是这样:更新与 insert_id 对应的 db 行,否则,insert_id 为空,因此您需要插入。插入时,使用 jQuery 加载具有当前 insert_id 的隐藏字段。

于 2012-09-10T12:12:09.220 回答