欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php表单提交更新数据库表的内容,只改变当前行

程序员文章站 2022-03-20 23:49:51
...
这个属性字段下的内容,我用select给了几个值,怎么选择那个值提交到数据库并更新数据库中表的内容,只改变当前行


回复讨论(解决方案)

传递唯一识别标志

提交修改数据库当前行的内容

修改数据库的时候根据提交的 id 来操作更新,

传递唯一识别标志



怎样获取那个唯一标识?js不太会,能写个简单例子吗?

提交修改数据库当前行的内容

修改数据库的时候根据提交的 id 来操作更新,



知道是那样,但是怎样获取那个id,我就是不会这块

唯一识别标志是你给的!
假定你示例的数据中,QQ号是不重复的,那么QQ号就可以做唯一识别标志

唯一识别标志是你给的!
假定你示例的数据中,QQ号是不重复的,那么QQ号就可以做唯一识别标志



我知道唯一标识的意思,我是说,我怎么去获取那个值,是要写js吗?还是表单就能获取?

你可在表单里用 checkbox 传值

你可在表单里用 checkbox 传值



能写个逻辑或者敲几行代码吗?我是真的很菜的菜鸟,你只说我是不太会用的

就是在数据库结构中添加一个类似id的字段,这个里边的应该是自动生成的id值,就是你每次创建一条数据就会生成一个唯一的id值,然后用这个id进行传值取值,比如说在update的时候条件要写where id = 1或者几

然后在操作界面的时候要给你的操作的地方一个id或者name值,就是唯一标识,这样的话你的js代码处也应该有一个id值或者name值和它相同,js写的方法就是调用或者操作数据库的东西

就是在数据库结构中添加一个类似id的字段,这个里边的应该是自动生成的id值,就是你每次创建一条数据就会生成一个唯一的id值,然后用这个id进行传值取值,比如说在update的时候条件要写where id = 1或者几



我知道要那么做,但是我不会传,不会获取。。。能写个函数说明的让我参考最好

#11

update table_name set IP=11.11.11.11 where qq=1234567;

#11

update table_name set IP=11.11.11.11 where qq=1234567;


我知道这么做,我是不知道那一行的QQ我怎么去获取,因为是随机的,不是固定的QQ


上边的js里边调用name=a或者id=a的方法
function a(){}


#11

update table_name set IP=11.11.11.11 where qq=1234567;


我知道这么做,我是不知道那一行的QQ我怎么去获取,因为是随机的,不是固定的QQ
那你这个数据库表里边什么是固定不变的?还有你要改变你哪个字段?



#11

update table_name set IP=11.11.11.11 where qq=1234567;


我知道这么做,我是不知道那一行的QQ我怎么去获取,因为是随机的,不是固定的QQ
那你这个数据库表里边什么是固定不变的?还有你要改变你哪个字段?

改变的就是属性那个字段啊,QQ号码是别的条件筛选出来的,因为QQ号码为唯一的主键,所以可以通过获取QQ号码所在的行,然后表单输入属性的内容,更新数据表


这个属性字段下的内容,我用select给了几个值,怎么选择那个值提交到数据库并更新数据库中表的内容,只改变当前行


还有,你应该是用insert添加值吧?你怎么用select进行插值?那是查,不是增也不是改





#11

update table_name set IP=11.11.11.11 where qq=1234567;


我知道这么做,我是不知道那一行的QQ我怎么去获取,因为是随机的,不是固定的QQ
那你这个数据库表里边什么是固定不变的?还有你要改变你哪个字段?

改变的就是属性那个字段啊,QQ号码是别的条件筛选出来的,因为QQ号码为唯一的主键,所以可以通过获取QQ号码所在的行,然后表单输入属性的内容,更新数据表
qq号码是不是还有别的表?你这个表是查出来的还是已经存好的?

你这个是查出来的吧,显示的时候,把id也传过来,用一个 input type="hidden"把id保存下来,
选择好了select后,提交表单的后,在php里面$_REQUEST将值拿出来呀,然后update



这个属性字段下的内容,我用select给了几个值,怎么选择那个值提交到数据库并更新数据库中表的内容,只改变当前行


还有,你应该是用insert添加值吧?你怎么用select进行插值?那是查,不是增也不是改


我把代码也贴出来,求大神帮忙改

"INSERT INTO `newdata`(`属性`) VALUES ('$_POST[s]') where ?????"
改数据用update,为什么insert

"INSERT INTO `newdata`(`属性`) VALUES ('$_POST[s]') where ?????"
改数据用update,为什么insert




改了,现在是update `newdata` set `属性`='$_POST[s]'

改过之后,你还需要改个地方,就是表单table标签你没写,而是直接写了tr和td,刚刚没加table标签,我用js和jQuery都没获取到qq号,所以你要用table标签包住tr和td,然后再获取QQ号,QQ号可以用js获取或者引入jQuery获取。
如果是js,那就

	var qq = document.getElementById('t1');	var qq_num = qq.innerHTML;	//alert(qq_num);

如果是jQuery(别忘了引入jQuery),那就
var qq_num = $('td:eq(0)').html();


'>




给这个td标签加个id才能document.getElementById('t1')