2014-02-17 47 views
-2

有人可以幫我嗎?我如何從數據庫中刪除行ID

here is my php script... 

$req = mysql_query('SELECT id, email, start_date, end_date, time_event, time_submitted, payment_method, status FROM booking_members WHERE status="Canceled"'); 
while($dnn = mysql_fetch_array($req)) 
$req1 = mysql_query('DELETE FROM booking_members WHERE id='$id'); 
while($dnn1 = mysql_fetch_array($req1)) 
{ 
<td class="left"><center> 
<a href="delete.php?id=<?php echo $dnn['id']; ?>"><img src="images/cross.png"></img></a> 
</td></center> 

如何從$ dnn ['id']獲取id以刪除行?

+0

你有語法錯誤 '$ REQ1 =請求mysql_query( 'DELETE FROM booking_members WHERE ID = $ ID');' – Bugaloo

回答

0

邁克布蘭特是完全正確的;您應該先刪除它們而不進行查找。但是,如果你想訪問ID,你會使用:

// ... PREVIOUS 

while ($dnn = mysql_fetch_array($req)) { 

    $delete_id = $dnn['id']; 

    $req1 = mysql_query("DELETE FROM booking_members WHERE id='".$delete_id."'"); 

// ... CONTINUE 
4

爲什麼不直接運行刪除?

DELETE FROM booking_members WHERE status='Cancelled' 

絕對沒有理由先選擇所有的id,然後循環遍歷它們,一次只刪除一行。

+0

我需要刪除特定的行並非所有的刪除行 – user3303166

+0

@ user3303166您的代碼示例似乎表明您循環通過選擇查詢結果並通過id刪除每個(儘管不清楚$ id是從哪裏來的)。 –

0
while($dnn = mysql_fetch_array($req)) 

在哪裏{? 這裏:

$req1 = mysql_query('DELETE FROM booking_members WHERE id='$id'); 

如果你想要的ID,最後一次查詢,你必須做到:$ DNN [ '身份證']而不是$ ID(或您之前設置的$ id)... 而且,對於包含HTML腳本的PHP腳本,您必須使用echo或print或必須關閉標記php(?>)

0

如果您想查看,並且假設您使用的是網絡核心,請下載免費報告模塊。安裝它編輯,並在下面的select語句類型後:

Select u.id, 
u.username, 
u.email, 
b.start_date, 
b.end_date, 
b.time_event, 
b.time_submitted, 
b.payment_method, 
b.status 
FROM users as u 
Join 
booking_members as b on u.userid = b.userid 
Where status="Canceled"' 

這將顯示您的用戶名,電子郵件,日期,結束日期,Time_event,Time_submitted,PAYMENT_METHOD哪裏還有狀態將被取消用戶的狀態...