我想知道是否有人可以看看这段代码,并帮助我想出一个更好的方式来做到这一点,如果有的话。jquery追加/删除并保存到数据库
我正在使用jQuery append/remove添加和删除列表项。我的代码首先从数据库中选择任何现有的行并将其显示在列表中,然后用户可以添加或删除列表中的任何元素。
我有一个类似的数据库结构:
object_id element_id auto order
1 1 0 2
1 2 0 1
1 3 1 3
用户已经完成了追加后/删除我将剩下的HTML代码与此类似:
<ul id="element-list" class="ui-sortable"><li>
<label for="element">Element Description</label>
<input type="hidden" value="1" name="element[1][id]">
<input type="checkbox" value="" name="element[1][auto]">
</li>
<li>
<label for="element">Element Description</label>
<input type="hidden" value="2" name="element[2][id]">
<input type="checkbox" value="" name="element[2][auto]">
</li>
</ul>
由于用户可以添加和删除包含数据库中存在的行的元素我很困惑如何最好将这些更改保存到数据库中。目前,我删除所有相应的行,然后在一个循环中插入新行如下:
foreach($_POST['element'] as $element){
$auto = (isset($element["auto"])) ? 1 : 0;
$query="INSERT INTO $table (object_id, element_id, auto) VALUES ('".$object_id."', '".$element["id"]."', '".$auto."') ";
}
我想知道是否有更有效的方式来做到这一点不是删除所有行,然后插入新的?
任何输入,将不胜感激。
感谢
保罗
这是一种EAV模式吗? – xmarcos 2010-09-28 16:20:16