假设现在取出的资料有六十笔
每一个品项都有一个,当勾了复选框后表示我要选中这个品项
稍微示意一下
<input type =“checkbox”>
<input name =“store []”>
假设勾选后我会把store []赋值
所以当后端接收时会这样
foreach($ _POST ['store'] as $ key => $ val){
...
}
我就会根据商店阵列里面有的东西去INSERT INTO
表示你选中这些
但如果当我某一个品项不选了呢我要怎么知道?
我现在的做法是INSERT INTO之前会先将所有有关的商店清除
再重新INSERT INTO一次,就表示你最新要的就是这些
现在遇到一个问题是
资料现在可能有一百笔,于是需要做分页,分页事小
但我假设在第一页也勾了我要勾的按送出(此时正常)
但是当我到第二页勾好后送出,就会把其他页的商店资讯删除
因为上面那步骤是我INSERT INTO前会先清除所有相关商店
所以我很好奇怎么做才能解决这个问题?
解法可能是需要用比对的?那是怎么个比对法呢
假设每页有10个选项,每个选项都有id,当用户选择完之后,你提交之前计算好选择的和未选择的id值集合 比如
然后提交到后台,遍历下这俩数组,选择的就保存到数据库,未选择的如何存在记录则删除,就搞定了。这样不需要处理未传过来的ID数据。
还有一种解决方案就是前端处理,每次翻页前把当前的数据保存到cookie或者某个变量(页面不刷新ajax翻页情况),等全选择完之后一起提交,提交之后把这个人选择记录清空,再重新保存提交过来的值。