atran
Новичок
Пожалуйста, помогите найти ошибку в коде (UPDATE)
Собственно я уже недавно обращался сюда, но тогда ошиюка была в синтаксисе кода - теперь же проблемма в запросе
Сам по себе код работает, но не правильно - к примеру:
Есть две строки
id - gal_pos=0, dir_gal=qw
new-id - gal_pos=1, dir_gal=zxc
В первый раз все нормально работает -
id - gal_pos=0, dir_gal=qw
new-id - gal_pos=1, dir_gal=zxc
А вот когда еще раз меняешь местами - то уже ничего не происходит (хотя хапрос выполняется...
А вот когда больше строк D lв данном случаи 3) совсем, что-то странное начинается -
id - gal_pos=0, dir_gal=qw
new-id - gal_pos=1, dir_gal=zxc
третья строка - gal_pos=2, dir_gal=thg
После нажатия (смены id и new_id)
id - gal_pos=1, dir_gal=qw
new-id - gal_pos=1, dir_gal=zxc
третья строка - gal_pos=0, dir_gal=thg
Так вот не понятно почему запрос как бы пересккивает на другие строки ... ну вот вроже бы все расказал ... Укажите, где я допустил ошибку ...
Собственно я уже недавно обращался сюда, но тогда ошиюка была в синтаксисе кода - теперь же проблемма в запросе
PHP:
// Значения передаются по GET
$table = $_GET['table'];
$id = $_GET['id'];
if($_GET['pos'] == "up") $new_id = $id + 1;
elseif($_GET['pos'] == "down") $new_id = $id - 1;
else { print "Ошибка "; exit(); }
$o = mysql_query("SELECT dir_gal FROM $table ");
$m1 = mysql_result($o, $id); // Выдается значение dir_gal второй строки new_id
$m2 = mysql_result($o, $new_id); // Выдает значение dir_gal строки - id
$query ="UPDATE $table SET gal_pos=".$id." WHERE dir_gal=".$m1."";
$query2 ="UPDATE $table SET gal_pos=".$new_id." WHERE dir_gal=".$m2."";
if(mysql_query($query) && mysql_query($query2)) print "ОК";
else print "Ошибка";
Сам по себе код работает, но не правильно - к примеру:
Есть две строки
id - gal_pos=0, dir_gal=qw
new-id - gal_pos=1, dir_gal=zxc
В первый раз все нормально работает -
id - gal_pos=0, dir_gal=qw
new-id - gal_pos=1, dir_gal=zxc
А вот когда еще раз меняешь местами - то уже ничего не происходит (хотя хапрос выполняется...
А вот когда больше строк D lв данном случаи 3) совсем, что-то странное начинается -
id - gal_pos=0, dir_gal=qw
new-id - gal_pos=1, dir_gal=zxc
третья строка - gal_pos=2, dir_gal=thg
После нажатия (смены id и new_id)
id - gal_pos=1, dir_gal=qw
new-id - gal_pos=1, dir_gal=zxc
третья строка - gal_pos=0, dir_gal=thg
Так вот не понятно почему запрос как бы пересккивает на другие строки ... ну вот вроже бы все расказал ... Укажите, где я допустил ошибку ...