php的mysql同时修改2个表数据,怎么实现?
假设我现在有两个表,A和B,表结构如下:Aaid,name,checkBbid,name,score表A,B的id都是自动增加的,而且不同现在有个传值$_GET的ID,通...
假设我现在有两个表,A和B,表结构如下:
A
aid,name,check
B
bid,name,score
表A,B的id都是自动增加的,而且不同
现在有个传值$_GET的ID,通过表A找到数据并修改它的check内容。
然后,我想取到目前被修改数据的name,然后通过name查到表B相应的数据,并取得B表中的score内容,然后用原内容+一个数值,并更新此数据。
如何实现?
谢谢 展开
A
aid,name,check
B
bid,name,score
表A,B的id都是自动增加的,而且不同
现在有个传值$_GET的ID,通过表A找到数据并修改它的check内容。
然后,我想取到目前被修改数据的name,然后通过name查到表B相应的数据,并取得B表中的score内容,然后用原内容+一个数值,并更新此数据。
如何实现?
谢谢 展开
3个回答
展开全部
//完成你的问题需要先假设几个变量
//传值的id
$aId = $_GET['id']
//要修改的新check内容
$newCheck = "aaa";
//要在表B中加的数值
$addContent = "20";
//第一个SQL更新表A中的check内容
$sql1 = "UPDATE `A` SET `check`='".$check."' WHERE `aid`=".$_GET['id'];
//第二个SQL获取表B中的相关信息
$sql2 = "SELECT `B`.`bid`,`b`.`score` FROM `A`,`B` WHERE `A`.`name`=`B`.`name` AND `A`.`aid`=".$_GET['id'];
//通过sql2可以得到所要修改的B表中的bid=>$bid 和B表中该条记录的score内容=>$score。
$newScore = $score.$addContent;
//更新表B中数据
$sql3 = "UPDATE `B` SET `score`='".$newScore."' WHERE `bid`=".$bid;
追问
那再往下呢?
如何执行?mysql($sql1),2,3这样,一个个去执行吗?有没有一气呵成的?
追答
操作两个表一个SQL不行, 最少两个,sql2和3可以合并
$sql = "UPDATE `B`,`A` SET `B`.`score`=concat(score,$addContent) WHERE `A`.`name`=`B`.`name` AND `A`.`aid`=".$_GET['id'];
展开全部
最简单的就是写2个sql,执行两次操作就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
连接数据库的步骤就不写了
$_GET['id'] = 1;
$sql = 'select * from 表 where id=$_GET[id] limit 1';
$result = mysql_query($sql);
遍历$result
在根据你要的name值去查询就行了。
然后再执行修改操作具体看你怎么写。如果保证 数据的统一性和安全性建议用 inoodb 。 事务的方式去处理
$_GET['id'] = 1;
$sql = 'select * from 表 where id=$_GET[id] limit 1';
$result = mysql_query($sql);
遍历$result
在根据你要的name值去查询就行了。
然后再执行修改操作具体看你怎么写。如果保证 数据的统一性和安全性建议用 inoodb 。 事务的方式去处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询