2012-12-21 56 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方法进行任何破坏性数据库操作,以免意外更改某些内容。