Witam!
Chciałem napisać skrypt który będzie przesuwał elementy w bazie danych. Tak więc mamy tabelę “menu” i w mniej pole “position” ale mój skrypt nie bardzo chce chodzić:
function up($id) {
$query="SELECT * FROM menu WHERE id='".$id."' LIMIT 1";
$result=mysql_query($query);
$pozycja = mysql_result($result,0,"position");
$query="SELECT * FROM menu WHERE position<'".$id."' ORDER BY position DESC LIMIT 1";
$result=mysql_query($query);
$ilosc = mysql_num_rows($result);
if($ilosc == 0) {
error("Nie można przesunąć!");
show_form();
show_menu();
} else {
$id2 = mysql_result($result,0,"id");
$pozycja2 = mysql_result($result,0,"position");
$query = "UPDATE menu SET `position`=".$pozycja2." WHERE id=".$id;
$result=mysql_query($query);
$query = "UPDATE menu SET `position`=".$pozycja." WHERE id=".$id2;
$result=mysql_query($query);
ok("Przesunięto!");
show_form();
show_menu();
}
}
function down() {
$query="SELECT * FROM menu WHERE id='".addslashes($_GET['id'])."' LIMIT 1";
$result=mysql_query($query);
$pozycja = mysql_result($result,0,"position");
$query="SELECT * FROM menu WHERE position>'".$pozycja."' ORDER BY position ASC LIMIT 1";
$result=mysql_query($query);
$ilosc = mysql_num_rows($result);
if($ilosc == 0) {
error("Nie można przesunąć!");
show_form();
show_menu();
} else {
$id = mysql_result($result,0,"id");
up($id);
}
}
I wywołanie funkcji:
if(addslashes($_GET['action']) == "up") up(addslashes($_GET['id']));
else if(addslashes($_GET['action']) == "down") down();
Proszę o pomoc.