重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以同时更新内容相同的记录,比如id=1、2、3的记录的状态都改为0;那么可以使用$db-where("id in(1,2,3)")-save(array('status'=0));
我们提供的服务有:网站制作、网站建设、微信公众号开发、网站优化、网站认证、藤县ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的藤县网站制作公司
第一种就是根据事务来实现这个功能,多条更新用事务来实现和回滚
第二种 就是循环更新了,这个不需要数据一致性,即其中一条语句更新失败 不影响其他数据,建议还是用事务
楼主贴出的代码是主要代码不是完整代码,以下是对你贴出代码的修改,接收数组并批量更新
接收数据格式形如:
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!";
?
最直接简单的方式,一个输入框一个提交按钮,直接从网页输入SQL语句然后交由后端执行,这种方法一定得注意SQL注入以及MySQL的权限控制。
在1的基础上的一种取巧方法,就是安装phpMyAdmin。根据你要更新的需求列出种种SQL语句的格式,采用参数化输入,而不是完全的SQL语句输入,后端使用参数化查询,防止SQL注入。