Как это организовать можно?
Вначале мой вариант был таким: получаем данные, делаем sql запрос:
$sql2="UPDATE kategory set positions=$bottom+1 WHERE positions=$bottom";
mysql_query($sql2);
$sql="UPDATE kategory set positions=$top-1 WHERE positions=$top";
mysql_query($sql);
Но не правильно работате, т.к. после выполнения 1го пояляется 2 одинаковых поля, и второй запрос их меняет.
У меня больше вариантов нет....
Андрей
Спустя 1 час, 25 секунд (21.11.2009 - 10:42) sergeiss написал(а):
Ты изначально неправильно делаешь, логика неправильная.
Тебе надо использовать как "опорное" какое-то уникальное для каждой строки значение. Например, некоторый айди. Тогда ты в условии пишешь первый раз "where positions=$id1", второй раз "where positions=$id2"
Тебе надо использовать как "опорное" какое-то уникальное для каждой строки значение. Например, некоторый айди. Тогда ты в условии пишешь первый раз "where positions=$id1", второй раз "where positions=$id2"
Спустя 6 минут, 15 секунд (21.11.2009 - 10:49) Romms написал(а):
по сути надо бы было додать ИД и по нём огранизовать этот "переворот", как сказал sergeiss
А так можеш написать так:
правда предложен мною способ не очень хорош...
А так можеш написать так:
$sql2="UPDATE kategory set positions=99999999 WHERE positions=$bottom";99999999 - можеш заменить на самое большое число(чтобы небыло повторений)
mysql_query($sql2);
$sql="UPDATE kategory set positions=$top-1 WHERE positions=$top";
mysql_query($sql);
$sql2="UPDATE kategory set positions=$bottom+1 WHERE positions=99999999;
mysql_query($sql2);
правда предложен мною способ не очень хорош...
Спустя 1 час, 1 минута, 16 секунд (21.11.2009 - 11:50) Varyag666 написал(а):
Цитата ('sergeiss') |
Ты изначально неправильно делаешь, логика неправильная. Тебе надо использовать как "опорное" какое-то уникальное для каждой строки значение. Например, некоторый айди. Тогда ты в условии пишешь первый раз "where positions=$id1", второй раз "where positions=$id2" |
Благодарю, сделал именно так, я думал может какая фунция есть, чтобы сделал запрос и значения сами поменялись местами