2012-04-05 85 views
0

我有我在我的數據庫運行以下查詢來刪除一些數據:包裝在一個PHP函數MySQL查詢和打印結果

delete subscriber, subscription from subscriber,subscription where subscription.status = 0 and subscription.snid=subscriber.snid; 

但我現在需要做的是運行時一個PHP函數我按下一個叫clean的按鈕

然後打印出所有被刪除的subscriber數據。

不問quitesure從哪裏開始。

這是我的HTML至今:

<form id="form1" name="form1" method="post" action=""> 
Clean subscribers: 
<input type="submit" name="clean" id="clean" value="Clean" /> 
</form> 

任何幫助或建議本是非常讚賞。

Ç

回答

1

很羨慕你不費吹灰之力!但無論如何我會回答你的。

<?php 
$con = mysql_connect("serverUrl","login","password"); 
mysql_select_db("dbName", $con); 

$result = mysql_query("SELECT * FROM subscriber, subscription where subscription.status = 0 and subscription.snid=subscriber.snid;"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['subscriber.name']; //assuming you have a field {name} in your table 
    echo "<br />"; 
    } 
mysql_query("delete subscriber, subscription from subscriber,subscription where subscription.status = 0 and subscription.snid=subscriber.snid;"); 
?> 
+0

非常感謝,我做了一些努力並閱讀了很多。現在Tis開始對我更感興趣了。 – Cybercampbell 2012-04-05 21:15:19

+0

如何檢查'$ result'是否爲空?如果它是空的,我希望顯示一條消息,表示沒有東西需要刪除。 – Cybercampbell 2012-04-05 23:25:57

+0

if(!$ result){ echo'nothing'; } – skafandri 2012-04-06 08:24:18

2

你需要的按鈕提交一個表單的處理程序頁面,該頁面的處理程序將隨後運行查詢,並收集+打印數據。

如果您不想刷新頁面(或讓用戶轉向其他頁面),則需要使用Ajax。

這就是你開始的地方。

1

首先,您需要選擇要刪除的數據。

然後,您需要將其刪除並返回選定的行。

$rows = array(); 
mysql_connect(...); 
$res = mysql_query(...select query here...); 
while($row=mysql_fetch_assoc($res)) { 
    $rows[] = $row; 
} 
$res = mysql_query(...delete query here...); 
return $rows; 
1

您可能不想完全刪除訂閱者。如果我是你,我會在這些行中加入一個名爲「已刪除」的字段,指出用戶是否已被刪除。然後根據該字段是否爲真來進行查詢。

+0

這樣,您不必依賴刪除來回饋您要查找的信息。 *聳聳肩* 我覺得這是一個非常安全的方法,而不是實際刪除數據,但只將其標記爲「已刪除」。你永遠不知道什麼時候你會再次需要這些信息。 – 2012-04-05 16:03:34

+1

謝謝托馬斯,我會再想一想這件事。 – Cybercampbell 2012-04-05 21:14:28