我试图在数据库中的一段时间后自动保存一些数据。这是我的视图代码
<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;
}
我的主要问题是当执行自动保存功能时,它会插入数据库中的所有数据。它会在一定程度上一次又一次地重复相同的数据。任何人都可以帮我解决这个问题。
答案 0 :(得分:0)
我假设您正在使用JS / jQuery进行自动保存功能。在表单中添加隐藏字段,例如insert_id
。在进行任何插入之前,请检查该字段是否具有值。如果是这样:更新对应于insert_id的db行,否则,insert_id为空,因此您需要插入。插入后,使用jQuery加载隐藏字段和当前insert_id。