作者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