|
|
|
| Делаю сайт объявлений на PHP.
Есть таблица рубрики и объявления.
Для каждого из объявлений необходимо вывести его позицию в своей рубрике.
На ум приходит только выборка из базы всех объявлений из данной рубрики и в цикле увеличение счетчика, пока id искомого объявления не совпадет с id из запроса.
Есть другой способ? | |
|
|
|
|
|
|
|
для: durable
(26.05.2009 в 08:21)
| | уникальный ключ, задающий порядок позиций в таблице, есть? | |
|
|
|
|
|
|
|
для: Trianon
(26.05.2009 в 09:17)
| | Есть ключевое auto_increment поле, но это как я понимаю не совсем то о чем вы спрашиваете. Получается что нет. Да и зачем. Объявлений может быть, например, 100 и разделов 7. Т.е. в одном разделе 10 объявлений, в другом сколькото еще и т.п. | |
|
|
|
|
|
|
|
для: durable
(26.05.2009 в 16:56)
| | >Да и зачем.
Затем, что если бы было, то можно было бы легко посчитать позицию элемента запросом типа такого:
SELECT COUNT(unique_id) WHERE unique_id<искомый | |
|
|
|
|
|
|
|
для: Loki
(26.05.2009 в 17:48)
| | Поле datetime в таком случае может быть тем уникальным для выборки порядка объявлений или лучше организовать счетчик своими усилиями? (тогда, как лучше его сделать?) | |
|
|
|
|
|
|
|
для: durable
(27.05.2009 в 08:09)
| | datetime очевидно не уникальное поле.
Берите автоинкремент. | |
|
|
|
|
|
|
|
для: Trianon
(27.05.2009 в 08:46)
| | Дело в том, что по задумке объявления могут подниматься наверх списка как тогда быть? Или можно переназначать autouncrement? Ведь 2 автоинкремента в одной таблице создавать нельзя. | |
|
|
|
|
|
|
|
для: durable
(27.05.2009 в 09:49)
| | >Дело в том, что по задумке объявления могут подниматься наверх списка
Вот об этом Вы не говорили.
Тогда заводите собственное поле.
И руками его заполняйте. | |
|
|
|
|
|
|
|
для: Trianon
(27.05.2009 в 13:05)
| | Спасибо. Наверное это и есть решение поставленной задачи. | |
|
|
|