Изтриване и навигация

stoqnski

Registered
Здравейте , сега имам
<a href="del.php?id=$row[id]" ..

и del.php прихваща параметъра от url-то "ID" и изтрива съответния запис от БД.

Много му се радвах когато сайта ми имаше 2 таблици и използвах 2 файла :D
Обаче сега работата е сериозна и искам да оптимизирам този вариант .
Имам 6 таблици

и да не създавам 6 файла(del_tablica1.php , del_tablica2.php... ) искам да го направя в 1 файл.

Как беше работата ? Нещо със case ?
 
Елементарно, уотсън! :)

Код:
href="del.php?table=$иметонатаблицата&$id=$row["id"]

В del.php:

Код:
delete from $_GET['table'] where id =$_GET['id']

Това е начина. Разбира се е хубаво тия $_GET-ове да ги минаваш през htmlentities примерно, за да не стане някоя беля с xss :)

+ е хубаво да направиш и една проверка за $_GET['table']:

Направо ти давам примерен код:
PHP:
$allowed = array('table1', 'table2');
if(in_array($_GET['table'], $allowed)) {
//имаме разрешение за изтриване
$table = addslashes($_GET['table']);
$id = (int) $_GET['id'];
$query = "delete from $table where id = $id";
//...
}
else {
echo 'Нямаш право да изтриваш от тази таблица!';
}
 
мисля че няма да стане , нека малко конкретизирам нещата:

4 таблици:

`baneri`

-bid
-kod

`kartinki`

-id
-url

`blog`

-id
-text

`user`
-id
-name
-password


и искам от 1 файл del.php да трия съответното id,bid от избраната таблица .
Забележка: от `kartinki` трябва да unlink() картинка освен изтриването от бд

Edit: прочетох го 2ри път съобщението ти и го разбрах да , сори :D
 
добре работи , но в една таблица имам заявка :

where bid = $id

а в друга искам освен

where id = $id

и да

$getsnimka = $_GET['snimka'];
unlink("../kartinki/$getsnimka");
 
подаваш следното:

delete.php?deleteOption=pics&id....
delete.php?deleteOption=docs&id...

in delete page:

$option = $_GET['deleteOption'];
switch($option)
{
case 'pics':
{
$idPic = (int)$_GET['id'];
$query = "delete * from `pics` where `id`= '$idPic'";
$result = mysql_query($query) or die('Shits maaan..').__LINE__;

}
//////////////////// И така надолу
}
 
DirectX каза:
подаваш следното:

delete.php?deleteOption=pics&id....
delete.php?deleteOption=docs&id...

in delete page:

$option = $_GET['deleteOption'];
switch($option)
{
case 'pics':
{
$idPic = (int)$_GET['id'];
$query = "delete * from `pics` where `id`= '$idPic'";
$result = mysql_query($query) or die('Shits maaan..').__LINE__;

}
//////////////////// И така надолу
}

Да , точно това си мислих и аз
 

Back
Горе