不知道是不是之前帖子发的板块没对,没人理,发这里试试。还没人理就算了。
一、表:
Tb-A,(id,type,number,uid)
Tb-B,(id,number)
其中Tb-B的id=Tb-A的uid,两张表的id都是唯一,自增长。
二、要求:
1、A表通过post批量提交一批id给后台删除对应记录,后台通过$id = is_array($_POST['id'] ? implode(',', $_POST['id'] ) : '';来获取id。
2、删除之前需要根据提交过来的id找到A表对应的type、number和uid。
3、type有两种值“出库”和“入库”,如果type=出库,就在a.uid=b.id前提下在B表number字段加上A表的number值;如果为入库,则减去A表的number。求代码,普通PHP的和thinkphp的都行。谢谢大神
一、表:
Tb-A,(id,type,number,uid)
Tb-B,(id,number)
其中Tb-B的id=Tb-A的uid,两张表的id都是唯一,自增长。
二、要求:
1、A表通过post批量提交一批id给后台删除对应记录,后台通过$id = is_array($_POST['id'] ? implode(',', $_POST['id'] ) : '';来获取id。
2、删除之前需要根据提交过来的id找到A表对应的type、number和uid。
3、type有两种值“出库”和“入库”,如果type=出库,就在a.uid=b.id前提下在B表number字段加上A表的number值;如果为入库,则减去A表的number。求代码,普通PHP的和thinkphp的都行。谢谢大神
1、select type,number,uid from a
2、if()else{} 判断type
执行 增加,减少 where id = (最好是在循环中少写sql
等楼下
WHERE TBB.id=TBA.uid and TBA.id in ($id);
DELETE FROM TBA WHERE id in ($id);
select * from A where id in ($id);通过循环构造下边的sql,用来更新
WHEN $uid THEN number+$number
同时 把$uid同样做成逗号分隔的格式更新
UPDATE B
SET number = CASE id
WHEN uid1 THEN number+123
WHEN uid2 THEN number+456
WHEN uid3 THEN number+789
END
WHERE id IN ($uid)删除
DELETE FROM A WHERE id IN ($id);这个地方
WHEN uid1 THEN 123
WHEN uid1 THEN number+123
增加的
是否行得通 我还没测试过