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!";
?>
查了一下资料说用数组,但我不知道怎么用,最好有代码直接告诉我,麻烦了~ 展开
<?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!";
?>
查了一下资料说用数组,但我不知道怎么用,最好有代码直接告诉我,麻烦了~ 展开
3个回答
展开全部
楼主贴出的代码是主要代码不是完整代码,以下是对你贴出代码的修改,接收数组并批量更新
接收数据格式形如:
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!";
?>
接收数据格式形如:
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 "更新成功";
<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 "更新成功";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以上是你的全部代码吗?根本就不能正确运行哦,别说多条,一条都没改对。
第一、A页面要使用FORM传送需要的参数给B页面,需要增加<FORM>有关的代码;
第二、B页面修改必须以id为条件,否则整个数据库全改了。
第一、A页面要使用FORM传送需要的参数给B页面,需要增加<FORM>有关的代码;
第二、B页面修改必须以id为条件,否则整个数据库全改了。
追问
页面A 是有form的,只是为了省代码没有贴上去
...
追答
楼下哥们的方法是对的,你注意里面name的写法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询