Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как построить такой список из БД


Автор: Lloyd2 26.2.2006, 19:55
Такая вот задача встала.

Имеется таблица статей:
id | date | name

И например выводятся все статьи за 2005 год:

1. Одна статья
2. Вторая
3. Еще одна
......
99. Последняя статья за этот 2005 год

Здесь все понятно, список из цифр создаем с помощью счетчика (например от $i=0, $i++)

Но если кликнуть на конкретную статью, например под номером 3, необходимо вывести такое:

2. Предыдущая статья

3. Третья статья
Текст статьи

4. Следующая статья

Как построить такой список (я имею ввиду номера списка)?

Автор: DemoCode 26.2.2006, 20:24
Хм.

$i-1 и $i+1 ?

Автор: xolod 27.2.2006, 23:26
Цитата

$i-1 и $i+1 ?

Трезво, в лоб. Жаль только id в БД может и не идти по порядку (1,2,3,4, ...), а быть (в следствии удаления и создания новых записей) странным (1,3,5,6,8, ...). А что тогда? Правильно. Мысль не верна.
Решение на поверхности, но я не вижу, кроме одного, слишком не оптимизированного.

Автор: DemoCode 28.2.2006, 09:12
Цитата(xolod @ 28.2.2006, 00:26 Найти цитируемый пост)
Жаль только id в БД может и не идти по порядку

А причём тут id в БД?


Цитата(Lloyd2 @ 26.2.2006, 20:55 Найти цитируемый пост)
Здесь все понятно, список из цифр создаем с помощью счетчика (например от $i=0, $i++)


Какой вопрос, такой и ответ. smile

Автор: Dave 28.2.2006, 10:05
Цитата(xolod @ 27.2.2006, 23:26 Найти цитируемый пост)
Трезво, в лоб. Жаль только id в БД может и не идти по порядку (1,2,3,4, ...), а быть (в следствии удаления и создания новых записей) странным (1,3,5,6,8, ...). А что тогда? Правильно. Мысль не верна.

autoincrement id не создано для нумерации....

получи все статьи и пронумеруй каждую. В чем проблема, непонятно.


Автор: Satana 28.2.2006, 14:07
Можно выбрать id из базы в массив, и уже на соновании массива строить что нужно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)