mysql在读的同时修改_PHP+MySQL同时增加/修改多个记录解决方案

在 PHP+MySQL 网站的开发中,有的时候会遇见比较特殊的需求,比如说需要点击一个按钮的时候将多条记录存入数据库,或者同时修改多个记录的时候,如果是几条数据的话,手动编写还是可以忍受的,但是如果是非常多的数据就麻烦了。所以可以巧妙的运用 PHP 的数组和循环同时操作多个记录。

注意,SQL 数据库中没有数组的概念。

直接案例分析:

我需要的 PHP 网站的功能是,自动从数据库中读取一串记录,然后用循环的方式把这些记录显示在输入框中,然后我根据需要修改输入框中的数据,然后点击保存按钮,这几个输入框全部需要保存到数据库中。循环代码如下:

$res=mysql_query("SELECT * FROM ty_config ORDER BY id");

while($result=mysql_fetch_array($res)) {

echo'';

}

?>

关键的问题在于:

我使用的是循环的 echo 方式展示数据库中的内容,所以表单输入框的 name 都是相同的。在实际的网页中,提交数据的时候,直接将 $_POST['add'] 的数据存入数据库是不行的,由于 MySQL 中没有数组的概念,所以需要存贮之前,使用 PHP 数组的操作进行分别逐条自动储存。

请注意,我在循环生成表单的代码中,将表单输入框的 name 值 add 后面增加了中括号,为 add[] ,这样做的话,在提交传递参数的 $_POST['add'] 将是数组的形式传递,这样一来就非常好解决了。

if($_POST['submit']){

$add=$_POST['add'];

for($i=0;$i<4;$i++){

$sql="UPDATE ty_config SET last='$add[$i]' WHERE id='$i'";

mysql_query($sql);}

echo'';

}

?>

在循环存储数据之前,我先使用变量 $add 取代了传递参数 $_POST['add'] ,然后在循环中使用 $add[] 逐个取出数组中的值,更新入数据库中。这样,就可以完美解决一次性存入多个数据记录的问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值