Есть таблица: id-int, name-varchar, order-int
1. Как правильно сделать добавление новых элементов?
2. Нужно вывести таблицу со всеми значениями, на каждой строке нужно вывести стрелки вниз и вверх при нажатии на которые в таблице будут соостветствующие изменение в полях order для поднятия или опускание строки вверхи или вниз. Как примерно должен выглядеть сам запрос?
п.с. Сори если криво изложил, надеюсь суть ясна... в той же йомле есть такая штука...
Спустя 49 минут, 32 секунды (19.04.2010 - 18:18) waldicom написал(а):
1. INSERT INTO tbl(`id`, `name`, `order`) VALUES(ID_VALUE, 'NAME_VALUE', ORDER_VALUE);
2. в конце запроса ORDER BY `order` [ASC|DESC]
2. в конце запроса ORDER BY `order` [ASC|DESC]
Спустя 24 минуты, 39 секунд (19.04.2010 - 18:42) sergeiss написал(а):
tim-ua - ответ уже дан, но я вот что не понял. Ты хочешь при запросе получать определенный порядок данных (как это waldicom показал) или ты хочешь именно в таблице выставить записи в определенном порядке? Если последнее - то это нереально. Потому что порядок данных в таблице для тебя не доступен, да и не важен. При запросе ты всегда можешь выставить нужный тебе порядок.
Спустя 31 минута, 58 секунд (19.04.2010 - 19:14) vagrand написал(а):
sergeiss
Ты неверно человека понял. У него есть филд "order" в котором у него прописаны порядковые номера записей. Этот филд не автоинкрементный. Вот он и спрашивает как реализовать функционал изменения порядка соседних записей.
Ты неверно человека понял. У него есть филд "order" в котором у него прописаны порядковые номера записей. Этот филд не автоинкрементный. Вот он и спрашивает как реализовать функционал изменения порядка соседних записей.
Спустя 2 часа, 42 минуты, 10 секунд (19.04.2010 - 21:56) tim-ua написал(а):
to waldicom
1. Меня интересует не как добавить а как узнать значение ордера
2. Туту тоже, не как вывести с ордером а как его изменить в админке сайта можно будет... Можно канешна просто для каждой строки сделать поле где можно вручную цифру ордера вписать, но меня интиресует как сделать именно как ЦМСках в частности как в емле - стрелками вверх и вниз на каждой строке
1. Меня интересует не как добавить а как узнать значение ордера
2. Туту тоже, не как вывести с ордером а как его изменить в админке сайта можно будет... Можно канешна просто для каждой строки сделать поле где можно вручную цифру ордера вписать, но меня интиресует как сделать именно как ЦМСках в частности как в емле - стрелками вверх и вниз на каждой строке
Спустя 2 часа, 8 минут, 34 секунды (20.04.2010 - 00:05) igor717 написал(а):
Ну это довольно легко сделать, используя только php, вопрос: этот список таблицы выводит только одни статьи (к примеру), или же эти статьи (к примеру) относятся к определенным категориям?
Спустя 4 часа, 40 минут (20.04.2010 - 04:45) maxims написал(а):
тут может быть две ситуации, обе выполняются за два запроса:
1. Перемещение элемента вверх по ордеру
2. Перемещение элемента вниз по ордеру
Вроде должно работать.
1. Перемещение элемента вверх по ордеру
UPDATE `table` SET `ord`=`ord`-1 WHERE `ord`>$old_ord AND `ord`<=&new_ord;
UPDATE `table` SET `ord`=$new_ord WHERE `id`=$id_rec;
2. Перемещение элемента вниз по ордеру
UPDATE `table` SET `ord`=`ord`+1 WHERE `ord`>=$new_ord AND `ord`<&old_ord;
UPDATE `table` SET `ord`=$new_ord WHERE `id`=$id_rec;
Вроде должно работать.
Спустя 4 часа, 21 минута, 17 секунд (20.04.2010 - 09:06) tim-ua написал(а):
Спасибо огромное!