2012-12-21 79 views
2

我想從sql中刪除按鈕。我開始了一個名爲$ del的函數,但我不知道如何以當前回聲聲明旁邊的刪除按鈕的形式完成它。php sql刪除按鈕

$con = mysql_connect("localhost", "user", "pass"); 
if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("database", $con); 
$sql = "INSERT INTO camps (city, map, park, day, details) 
    VALUES ('$_POST[city]','$_POST[map]','$_POST[park]','$_POST[day]','$_POST[details]')"; 

if (!mysql_query($sql, $con)) { 
    die('Error: ' . mysql_error()); 
} 

$number = 0; 
$del = mysql_query("DELETE FROM camps WHERE user_id= '$number'"); 

$result = mysql_query("SELECT * FROM camps"); 

while ($row = mysql_fetch_array($result)) { 
    echo "<a href=\"'" . $row['map'] . "\">" . $row['city'] . "</a>"; 
    echo "<br />"; 
} 

回答

2

您需要讓鏈接將一個參數傳遞給將刪除該記錄的腳本。 您的鏈接會看起來像這樣

echo "<a href=\"'delete.php?id=" . $user_id"\">" . $row['city'] . "</a>"; 

那麼你刪除可以只抓住從$ _GET gloabal的參數,可以和它們傳遞到SQL像這樣

$del = mysql_query("DELETE FROM camps WHERE user_id=" . $_GET['user_id']); 

這當前的查詢將刪除所有該用戶的陣營(根據需要調整params/sql)。

但是,你永遠不應該把用戶變量傳入你的sql字符串。你自己打開sql injection attacks。我會建議使用PDO來逃避你的SQL。我還建議使用post方法進行任何破壞性數據庫操作,以免意外更改某些內容。