У меня есть веб-страница с довольно большой CMS, где вы можете добавлять новости, добавлять изображения и другие вещи. И, конечно же, вы также можете удалить их.
Вы просто нажимаете «Удалить», и это приводит вас к скрипту удаления, который удаляет строку из таблицы. Проблема в том, что у меня есть 4-5 скриптов удаления, которые выглядят совершенно одинаково, за исключением того, что они удаляют из разных таблиц. Я хотел бы, чтобы таблица была переменной, которая отслеживает, с какой подстраницы пришел пользователь, поэтому мне понадобится только один сценарий удаления вместо нескольких.
Это кнопка, которую вы нажимаете, чтобы что-то удалить:
<a href='deletenews.php?id=<?php echo $id ?>'>DELETE</a>
Обратите внимание, что он удаляет "news".php, было бы неплохо, если бы это был просто delete.php.
Скрипт удаления выглядит следующим образом:
session_start();
if ($_SESSION['username']) {
} else {
include 'index.php';
die ("<script> alert(You have to be logged in.');</script>");
}
mysql_connect('localhost', 'username', 'password') or die (mysql_error());
mysql_select_db('database') or die (mysql_error());
mysql_query("DELETE FROM news WHERE id = '$_GET[id]'") or die(mysql_error());
header('Location: forside.php');
Я бы хотел, чтобы вместо "новости" была переменная. Как $удалить. Но эта переменная должна знать, из какой таблицы она должна удалять данные. Есть ли способ сделать это? Я готов изменить весь свой код для этого, потому что я думаю, что это лучшая практика.
id
, почему вы не можете воспроизвести тот же механизм для имени таблицы? Вы знаете, что можете отправить более одной переменной GET, верно? И вы знаете, что запрос mysql в PHP — это строка, верно? - person Sergiu Paraschiv   schedule 18.01.2014$_GET['table']
, а затемmysql_query("DELETE FROM " . $_GET['table'] . " WHERE id = '$_GET[id]'")
? - person Sergiu Paraschiv   schedule 19.01.2014