php如何用update更新多条数据

A页面代码:<?php$exec="select*fromfocusimg";$result=mysql_query($exec,$link);while($pt=mys... A页面代码:
<?php
$exec="select * from focusimg";
$result = mysql_query($exec,$link);
while($pt=mysql_fetch_array($result)){

?>
<tr onmouseover="this.className='admTr'" onmouseout="this.className=''">
<td width="17%" align="right">标题<?php echo $pt['id']; ?>:</td>
<td><input name="title" type="text" id="textfield" value="<?php echo $pt['title'];?>" size="30" /></td>
<td width="17%" align="right">链接<?php echo $pt['id']; ?>:</td>
<td><input name="url" type="text" id="textfield" value="<?php echo $pt['url'];?>" size="30" /> </td>

</tr>
<?php

};
?>
B页面代码:
<?php
include 'conn.php';
$url=$_POST['url'];
$title=$_POST['title'];

$exec="update chips set title='$title',url='$url'";
mysql_query($exec, $link);
mysql_close($link);
echo "edit OK!";
?>

查了一下资料说用数组,但我不知道怎么用,最好有代码直接告诉我,麻烦了~
展开
 我来答
songyipangbuo
2014-07-10 · TA获得超过744个赞
知道小有建树答主
回答量:190
采纳率:100%
帮助的人:255万
展开全部
楼主贴出的代码是主要代码不是完整代码,以下是对你贴出代码的修改,接收数组并批量更新
接收数据格式形如:
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>
<td><input 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>
<td><input 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!";
?>
匿名用户
2015-07-12
展开全部
  比如说,有一个表单,两个文本框,php用update更新多条记录的方法:
  <input type="text" name="id" style="width:150px;" value="<?php echo $id; ?>">
  <input type="text" name="name" style="width:150px;" value="<?php echo $name; ?>">
  
  把文本框的name属性改成数组形式name="id[]" 、name="name[]",这样服务器端就可以用数组方式获取到数据了
  
  服务器端修改如下:
  
  $id=$_POST['id'];
  $name=$_POST['name'];
  foreach($id as $key=>$id){
  $query=mysql_query("update $table set name='$name[$key]' where id='$id");
  }
  echo "更新成功";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2014-07-10 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
以上是你的全部代码吗?根本就不能正确运行哦,别说多条,一条都没改对。

第一、A页面要使用FORM传送需要的参数给B页面,需要增加<FORM>有关的代码;

第二、B页面修改必须以id为条件,否则整个数据库全改了。
追问
页面A 是有form的,只是为了省代码没有贴上去

...

追答
楼下哥们的方法是对的,你注意里面name的写法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式