Я пытаюсь сделать кнопку удаления из sql. Я начал функцию под названием $ del, но я не знаю, как ее завершить, в виде кнопки удаления echoe'd рядом с текущими выражениями эха.
$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 />"; }
Вам нужно будет сделать ваши ссылки переданы параметру сценарию, который удалит эту запись. Ваши ссылки будут выглядеть примерно так:
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 как needbe).
Тем не менее, вы НИКОГДА не должны пропускать пользовательские вары в свои строки sql. Вы оставляете себя открытым для SQL-инъекций . Я бы рекомендовал использовать PDO, чтобы избежать вашего sql. Я также рекомендовал бы использовать метод post для любой деструктивной операции db, чтобы вы случайно не изменили что-то.