作者ufly (飞)
看板PHP
标题[请益] 如何用checkbox foreach 删除多笔资料
时间Thu May 10 09:48:17 2012
各位前辈好,我想使用foreach语法删除我资料表中的多笔资料
但无法执行...不知道哪边语法有错 (网页执行正常,资料库却一动也不动)
member_table 中的第二栏为 username
[NO] [username] [password]
主键
§这是秀资料的网页码
<?php
$data = "SELECT * FROM member_table";
$result = mysql_query($data);
echo '<form name="form" method="post" action="del.php">';
echo '<table width="700" border="1">' ;
while($row = mysql_fetch_row($result))
{
echo "<tr>";
echo '<td><input type=checkbox name="del[]" value="$row[1]" /></td>';
echo "<td>$row[1]</td>";
echo "<td>$row[1]</td>";
}
echo "</table>";
echo '<input type=submit value="删除">';
echo '</form>';
>?
§这是del.php
<?php
$link=mysql_connect("localhost","root","test");
mysql_select_db("mydb");
$id=$_POST['del'];
foreach($id as $ide){
$data="delete from member_table where username=$ide";
$result=mysql_query($data);
if((mysql_affected_rows()==0) or (mysql_affected_rows==-1))
{
echo "没有找到纪录,或者删除时出错";
exit;
}
else{
echo "纪录已删除";
}
}
mysql_close();
?>
--
请问del.php哪边出错了?!
我的sql欲删除的那笔资料一直都在
小弟在这先谢谢回应的各位前辈
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.231.208.76
1F:→ shadowjohn:username=\"{$ide}\" "; //文字的话包一下试试 05/10 09:57
先谢谢S大抽空回答
我如果改成那样,网页则会显示 [没有找到纪录,或者删除时出错]
如果改
$data='delete from member_table where username="{$ide}" ';
也是 [没有找到纪录,或者删除时出错]
2F:→ ufly:注:checkbox 有勾选! 05/10 10:04
※ 编辑: ufly 来自: 125.231.208.76 (05/10 10:04)
3F:→ dinos:checkbox 不一定是你预期的 value,而是 on/null 05/10 10:53
4F:→ kerash:有设value有值就会是值,不是on/null~ 05/10 11:24
5F:→ kerash:另外,用单引号包住时不会转换php的变数,要麽用双引号 05/10 11:24
6F:→ kerash:或者是'xxx'.$param[].'xxx'; 的方式 05/10 11:25
7F:推 dio833:'delete from member_table where username=\''.$ide.'\''; 05/10 15:37
8F:→ dio833:username看起来应该是varchar或是char,所以要用单引号包住 05/10 15:37
9F:→ dio833:当遇到SQL语法问题时,你应该先将sql印出来,贴到mysql去 05/10 15:38
10F:→ dio833:这样会比较方便厘清,光用肉眼很难判断问题 05/10 15:38
11F:→ dio833:不过我蛮建议用NO来当删除条件的 05/10 15:41
12F:→ ufly:谢谢大家...还是试不出来...>"< 05/10 17:33
13F:推 richile0819:"...where username='".$id."'" 试试 05/10 17:50
14F:→ richile0819:更正$id -> $ide 05/10 17:51
15F:→ b12031106:把$data跟$id都echo出来看看 应该就知道问题在哪了 05/13 11:53