|
|
|
| Добрый день!
Есть таблица данных интернет магазина, в которой указаны категории товара и порядок их вывода на страницу магазина. Т. е изначально поле порядка вывода (sortid) забито нулем, но если ты хочешь сдвинуть эту позицию на первые места, то там прописываешь числа 1,2,3 ну или как хочешь, остальное, где остались нули выведется позже.
Имеем запрос:
$zapros =
"SELECT catid, parent, title, fulltitle
FROM $prefix"."categories
WHERE parent = $catid
ORDER BY sortid DESC";// выводим в обратном порядке
Мне нужно вывести запрос в обратном порядке.
DESC тут не работает, т.к в данном случае у всех строк таблицы это значение равно нулю.
Есть способ вывести базу ЗЕРКАЛЬНО в прямом смысле слова? т.е. если бы она выводилась так, то после изменения запроса абсолютно наоборот? | |
|
|
|
|
|
|
|
для: Dimonus
(14.02.2009 в 11:54)
| | Это не всегда будет срабатывать, так как в результате обновления и удаления записей - содержимое таблицы будет "перемешиваться". Такого эффекта можно добиться, если вы введете ещё одну сортировку, скажем по алфавиту.
$zapros =
"SELECT catid, parent, title, fulltitle
FROM $prefix"."categories
WHERE parent = $catid
ORDER BY sortid DESC, title";
|
тогда в обратном порядке вы сможете выбрать записи, добавив DESC уже к title
$zapros =
"SELECT catid, parent, title, fulltitle
FROM $prefix"."categories
WHERE parent = $catid
ORDER BY sortid DESC, title DESC";
|
| |
|
|
|
|
|
|
|
для: cheops
(14.02.2009 в 12:48)
| | Так не пойдет. Алфавит не соблюдается.....
Видимо придется зеркалить при выводе результата уже из полученного массива читая его в обратном порядке. | |
|
|
|
|
|
|
|
для: Dimonus
(14.02.2009 в 12:56)
| | Не поможет.
Вы не можете полагаться на внутренний порядок данных в таблице вообще.
Он в любой момент может быть изменен без какого либо уведомления.
Вы и в прямом-то порядке гарантированный вывод можете получить лишь при наличии полностью детерминированного условия ORDER BY . | |
|
|
|
|
|
|
|
для: Dimonus
(14.02.2009 в 12:56)
| | >Так не пойдет. Алфавит не соблюдается.....
Ориентируйтесь на другой столбец, например, на catid, вместо title | |
|
|
|
|
|
|
|
для: cheops
(14.02.2009 в 13:00)
| | Да, видимо так и поступлю. Спасибо. | |
|
|
|