thinkphp如何同时更新多条数据
可以同时更新内容相同的记录,比如id=1、2、3的记录的状态都改为0;那么可以使用$db-where("id in(1,2,3)")-save(array('status'=0));
创新互联建站是一家专注于成都做网站、网站设计、外贸营销网站建设与策划设计,丛台网站建设哪家好?创新互联建站做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:丛台等地区。丛台做网站价格咨询:18980820575
使用PHP语言向SQL中的一个表update多条记录,使用for循环语句只能更新最后一条信息,请问应该怎么写语句?
你是想实现什么?是要把指定的记录更新成一样的?还是更新的每天数据的值都不一样?我这有集中解决思路:
a)建议你面向对象的方式写,把更新的过程(语句)写进了function里(也可以不用写,直接执行sql语句),再在for循环内层调用,这样就会相当于批量执行,这样想更新数据,就要根据for循环的数组中的值而确定。如这样:
$arr=array('desetang','d.n.sky','time');
for($i=0;$icount($arr);$i++){
//update 语句或过程
$a=sqlupdate('表名';所选字段';'条件','更新内容$arr[$i]');//这是我举得例子
}
b)在调试过程中建议echo一下SQL语句,这样会方便的找出是否是sql语句错误
c)检查一下你的for循每次是不会在相同的数据中插入,付sql update
UPDATE`desetang`.`tags`SET`describe`='ui' WHERE`tags`.`id`=36;
php如何用update更新多条数据
楼主贴出的代码是主要代码不是完整代码,以下是对你贴出代码的修改,接收数组并批量更新
接收数据格式形如:
array(
0=array(
'id' = 1,
'title'= '标题1'
'url'= '...'
),
1=array(
'id' = 1,
'title'= '标题1'
'url'= '...'
),
)
注意在原来的基础上加了更新条件id,不加的话是会更新全部的。
A页面代码:
?php
$exec="select * from focusimg";
$result = mysql_query($exec,$link);
$i=0;
while($pt=mysql_fetch_array($result)){
?
tr onmouseover="this.className='admTr'" onmouseout="this.className=''"
td width="17%" align="right"标题?php echo $pt['id']; ?:input name="?php echo "focusimg[$i][id]"; ?" value="?php echo $pt['id']; ?" type="hidden"//td
tdinput name="?php echo "focusimg[$i][title]"; ?" type="text" id="textfield" value="?php echo $pt['title'];?" size="30" //td
td width="17%" align="right"链接?php echo $pt['id']; ?:/td
tdinput name="?php echo "focusimg[$i][url]"; ?" type="text" id="textfield" value="?php echo $pt['url'];?" size="30" / /td
/tr
?php
$i++;
};
?
B页面代码:
?php
include 'conn.php';
$focusimg=$_POST['focusimg'];
foreach($focusimg as $k=$v) {
$exec="update chips set title='{$v[title]}',url='{$v[url]}' where id='{$v[id]}'";
mysql_query($exec, $link);
}
mysql_close($link);
echo "edit OK!";
?
php 更新大数据时很慢
没必要一次性查出100W条。每次请求3-5W数据update,分页用递归。
控制好变量内存,不要内存溢出。
PHP 批量修改多条记录的Sql语句写法
另一个思路你试试:
html:
input type="text" name="A[]" /
input type="text" name="B[]" /
input type="hidden" name="ids[]" value="{$id}" /
php:
?php
$a = $_POST['A'];
$b = $_POST['B'];
$ids = $_POST['ids'];
foreach($a as $k = $v) {
$sql = "update abc set a='{$v}', b='{$b[$k]}' where id='{$ids[$k]}'";
mysql_query($sql);
}
名称栏目:php更新多条数据类型 php更新多条数据类型不同
分享网址:http://scgulin.cn/article/doosede.html