Вопрос по гостевой

GEN2009

Новичок
Вопрос по гостевой

Пишу собсвенную гостевую PHP+MySQL, написал, она работает, но все пишет на одной странице, как лучше ее разбить на несколько страниц: типа как в поиске гугл-номера страничек 1 2 3 4 5. Понимаю что вопрос может показаться тривиальным, но меня здесь смущает постоянное наличие поля для ввода...
 

maxru

МИФИст
А почему оно тебя смущает? (З.Ы. Я не доктор Курпатов :D )
 

Фанат

oncle terrible
Команда форума
ну так добавляй её к каждой странице =)

-~{}~ 24.07.06 17:00:

GEN2009
вообще, решение сильно зависит от того, как именно у тебя сделана гостевая.

ты, наверное, открываешь хтмл файл с сообщениями, и в него дописываешь?
 

an_kalinovski

Новичок
А в данном внизу каждой страницы поле Ваш ответ не смущает? Это нормально... В данном случае, если уж очень смущает - сделай ссылку внизу и вверхе каждой страницы "Создать сообщение", но вообще по моему тут нечего опасаться
 

GEN2009

Новичок
т.е. просто разбивать все полученные данные из БД например на 20-ки, для каждой двадцатки "присваивать" номар страницы 1, 2,3..
надо сделать этот номер ссылкой и GET генерировать страницы-и этот момент и представляю смутно...
 

Фанат

oncle terrible
Команда форума
ничего страшного.
все когда-то начинали.
просто надо делать всё постепенно.
сначала научиться выводить из базы последние 20 записей.
потом - произвольные 20.
и потом заниматься ссылкой и GET.

у тебя база - mysql? в ней есть замечательный оператор LIMIT - это как раз то что тебе надо
 

maxru

МИФИст
А что тут сложного.
PHP:
<?php
if(isset($_REQUEST['message']) && isset($_REQUEST['username']) && isset($_REQUEST['email']) )
{
   addmessage();
}

if(!isset($_REQUEST['page']))
{
   $_REQUEST['page']=1;
}

showRecords($_REQUEST['page']);
?>
З.Ы. Щас Фанат начнёт учить, как делать гостевухи :D :D :D

-~{}~ 24.07.06 17:11:

Опоздал, уже начал 8)
 

GEN2009

Новичок
А зачем обращаться к базе по десять раз!? один раз я обратился один раз, отсортировал по дате, забил в массив, теперь надо просто этот массив каким-то образом ввести не в одну страницу а во столько, сколько надо...
 

Фанат

oncle terrible
Команда форума
ээээ, приятель, да тут у тебя большой пробел в знаниях.
а куда этот массив денется после того, как ты покажешь первую страницу?
 

GEN2009

Новичок
Фанат ты прав...видимо надо обращаться минимум столько раз сколько страниц, т.е. человек. Limit выделяет последние (сколько укажешь записи) по указанной сортировке-так!?(насколько я понял из мануала), а как но чтобы вывести с помощью него ЛЮБЫЕ строки в указанном порядке надо извратиться типа(для 20 на страницу) вывести последние за 40 из них выделить снова 20 последних все в порярке даты...так? а проще нельзя?:)
 

Фанат

oncle terrible
Команда форума
ты думаешь, каждый читатель гостевой будет просматривать все страницы до единой?
наверное, ты хотел сказать, "надо обращаться минимум столько раз сколько страниц БУДЕТ ПРОСМОТРЕНО"?
Limit выделяет последние (сколько укажешь записи) по указанной сортировке-так!?(насколько я понял из мануала),
ты непраильно понял
чтобы вывести с помощью него ЛЮБЫЕ строки в указанном порядке надо извратиться типа(для 20 на страницу) вывести последние за 40 из них выделить снова 20 последних все в порярке даты...так? а проще нельзя?
можно.
почитай про лимит повнимательнее =)
 

Wicked

Новичок
GEN2009
мыслишь логично, но кое-чего не знаешь:
конструкция LIMIT позволяет, например, выводить 20 записей, начиная с N-й, а не обязательно последние.
 

maxru

МИФИст
1 страница- одно обращение.
LIMIT ограничивает количество выданых записей
SELECT * FROM guestbook LIMIT 3,20 выдаст записи с 3 по 22

-~{}~ 24.07.06 17:32:

Если получаем < 20 записей - значит последняя страница.
 

Wicked

Новичок
вот как за 3 минуты плавно опустились до полной конкретики :)
 

maxru

МИФИст
Для формирования ссылок на страницы надо ещё знать число записей
SELECT COUNT (message) FROM guestbook

-~{}~ 24.07.06 17:36:

Wicked, предлагаешь застрелить? :D
 

GEN2009

Новичок
Ну с базой как всегда все легко и удобно! вот делают фины!(или кто они!:) )....
получаю любые 20 записей а как ссылки то сделать все-равно смутно понятно: <a href=\"guestbook.php?$nomer=\">$nomer<a>
<input type='hidden' name=nomer value=$i> .....??????

-~{}~ 24.07.06 19:43:

maxru зачем???я так получаю...
$result=mysql_query($read_query,$link);
$total_rows = mysql_num_rows($result);
 

Фанат

oncle terrible
Команда форума
что, по-твоему, надо передавать по ссылке?

-~{}~ 24.07.06 17:43:

так получить неправильно.
 
Сверху