Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2009, 22:22   #11
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

iankov
Как мы ответим на Ваш вопрос? Приведите структуру таблицы.
Это всё равно, что Вы бы попросили помощи дописать программу, но код программы не предоставили бы.
Arigato вне форума Ответить с цитированием
Старый 25.01.2009, 22:24   #12
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от iankov Посмотреть сообщение
ага, ну с лимитом можно сделать. Если предлоположим я знаю требуемую мне статью по счету $a, то я могу лимитом выбрать от $a-1 до $a+1.
Тогда вопрос в: как узнать, какая эта статья по счету?
это можете узнать только вы сами т к это зависит от того на основе чего выводится статья (может быть самая последняя по дате, с наибольшим id и т п)

если же айди прописывается вами вручную - советую доучить программирование, т к это уже аналог простого html
свободен...
wall66 вне форума Ответить с цитированием
Старый 25.01.2009, 22:26   #13
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию

гг, ну если бы у меня не было пропусков в базе, то все было бы проще простого =). Но статьи то удаляются время от времени, потом создаются новые, появляются пробелы.
Я выбираю все статьи из категории и вывожу список со ссылками.
select id, title from articles where cat=$cat
Ссылка типа .php?id=$id
Когда переходим по ссылке, то видим на экране одну статью, а внизу(или вверху) делаею кнопки -"предыдущая статья" - "следующая статья".
Эта одна статья соответственно тянется из базы запросом
select * from articles where id=$id $id берется из $_GET
iankov вне форума Ответить с цитированием
Старый 25.01.2009, 22:27   #14
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию

Структура, ок =)
articles - таблица
id, title, text, cat - поля.
iankov вне форума Ответить с цитированием
Старый 25.01.2009, 22:29   #15
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

ну тогда могу предложить такой вариант:

следующая статья select * from articles where id>$id limit 1
предыдущая select * from articles where id<$id order by id desc limit 1

если запросы возвратили результат - пиши ссылку на возвращенный id, если нет - соответственно нет



также если нужны статьи только из категории то добавь условие на... категорию... (where ... and cat=$cat)
свободен...
wall66 вне форума Ответить с цитированием
Старый 25.01.2009, 22:33   #16
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию

Цитата:
Сообщение от wall66 Посмотреть сообщение
ну тогда могу предложить такой вариант:

следующая статья select * from articles where id>$id limit 1
предыдущая select * from articles where id<$id order by id desc limit 1

если запросы возвратили результат - пиши ссылку на возвращенный id, если нет - соответственно нет



также если нужны статьи только из категории то добавь условие на... категорию... (where ... and cat=$cat)
Хммм.., идея прикольная, итого 3 запроса будет вместе с выборкой самого контента
Спасибо, попробую =)
iankov вне форума Ответить с цитированием
Старый 25.01.2009, 22:35   #17
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от iankov Посмотреть сообщение
Хммм.., идея прикольная, итого 3 запроса будет вместе с выборкой самого контента
Спасибо, попробую =)
если хочешь 1 запрос то просто совмести все условия в одно
where (id=$id) or (условие на предыдущую) or (условие на следующую)
будет возвращено три строки из которых среднюю можно узнать по id
свободен...
wall66 вне форума Ответить с цитированием
Старый 08.02.2009, 00:07   #18
susanin
Новичок
Джуниор
 
Регистрация: 08.02.2009
Сообщений: 1
По умолчанию

все мои попытки объединить запрос обернулись неудачей, я так и не понял,как можно ограничить вытаскивание меньшего и большего ид одной записью,если делать запрос наподобие
where (id=$id) or (условие на предыдущую) or (условие на следующую)
susanin вне форума Ответить с цитированием
Старый 08.02.2009, 02:22   #19
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от iankov Посмотреть сообщение
Вот просматриваю я статью, а внизу есть 2 ссылки. 1я - предыдущая статья. 2я - следующая статья.
К примеру статья вызывается так: xxx.php?article_id=айди статьи
Вопрос: какими методами можно сделать эти ссылки, чтобы попроще?
я может ошибаюсь но случайно вам нужно не:
Постраничный вывод информации из БД (пагинатор)

http://www.pyha.ru/articles/php/paginator/

давненько узаю, может выводить n число записей из базы:

Например у вас 20 записей в бд, если поставете параметр $nums (помойму) = 5 то листалка будет иметь 4 страницы... и иметь следующий вид: Начало..1...2...3...4... Конец
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вытащить значение из sql запроса след.вида Tanuska___:) БД в Delphi 3 29.09.2008 15:54
Ссылки vitekbest Помощь студентам 1 01.06.2008 19:28
Ссылки Принц HTML и CSS 1 31.05.2008 15:46