Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как подсчитать позицию объявления в рубрике
 
 автор: durable   (26.05.2009 в 08:21)   письмо автору
 
 

Делаю сайт объявлений на PHP.
Есть таблица рубрики и объявления.
Для каждого из объявлений необходимо вывести его позицию в своей рубрике.
На ум приходит только выборка из базы всех объявлений из данной рубрики и в цикле увеличение счетчика, пока id искомого объявления не совпадет с id из запроса.

Есть другой способ?

  Ответить  
 
 автор: Trianon   (26.05.2009 в 09:17)   письмо автору
 
   для: durable   (26.05.2009 в 08:21)
 

уникальный ключ, задающий порядок позиций в таблице, есть?

  Ответить  
 
 автор: durable   (26.05.2009 в 16:56)   письмо автору
 
   для: Trianon   (26.05.2009 в 09:17)
 

Есть ключевое auto_increment поле, но это как я понимаю не совсем то о чем вы спрашиваете. Получается что нет. Да и зачем. Объявлений может быть, например, 100 и разделов 7. Т.е. в одном разделе 10 объявлений, в другом сколькото еще и т.п.

  Ответить  
 
 автор: Loki   (26.05.2009 в 17:48)   письмо автору
 
   для: durable   (26.05.2009 в 16:56)
 

>Да и зачем.
Затем, что если бы было, то можно было бы легко посчитать позицию элемента запросом типа такого:
SELECT COUNT(unique_id) WHERE unique_id<искомый

  Ответить  
 
 автор: durable   (27.05.2009 в 08:09)   письмо автору
 
   для: Loki   (26.05.2009 в 17:48)
 

Поле datetime в таком случае может быть тем уникальным для выборки порядка объявлений или лучше организовать счетчик своими усилиями? (тогда, как лучше его сделать?)

  Ответить  
 
 автор: Trianon   (27.05.2009 в 08:46)   письмо автору
 
   для: durable   (27.05.2009 в 08:09)
 

datetime очевидно не уникальное поле.
Берите автоинкремент.

  Ответить  
 
 автор: durable   (27.05.2009 в 09:49)   письмо автору
 
   для: Trianon   (27.05.2009 в 08:46)
 

Дело в том, что по задумке объявления могут подниматься наверх списка как тогда быть? Или можно переназначать autouncrement? Ведь 2 автоинкремента в одной таблице создавать нельзя.

  Ответить  
 
 автор: Trianon   (27.05.2009 в 13:05)   письмо автору
 
   для: durable   (27.05.2009 в 09:49)
 

>Дело в том, что по задумке объявления могут подниматься наверх списка

Вот об этом Вы не говорили.
Тогда заводите собственное поле.
И руками его заполняйте.

  Ответить  
 
 автор: durable   (27.05.2009 в 15:51)   письмо автору
 
   для: Trianon   (27.05.2009 в 13:05)
 

Спасибо. Наверное это и есть решение поставленной задачи.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования