pasha4ur, что ж ты сразу не сказал, что у тебя какой-то там MS Access? Я-то для MySQL писал)) Странно, конечно, что Access не весь SQL держит.
Цитата:
Ошибка синтаксиса в предложении ORDER BY., SQL state 37000
|
А точка там откуда взялась?
Цитата:
Тогда для следующей начнется с 40.
|
Значит надо добавить "-1" в нужном месте.
Цитата:
"SELECT * FROM `guestbook` ORDER BY `time` DESC LIMIT '$page_st' , '$page_en'"
|
Нет, ну не $page_en, а 20. Это показывает не конечный номер строки, а количество строк от начала выборки.
И, пожалуй, даже и не DESC. А то самое старое сообщение наверху окажется...
Цитата:
<a href="1.php?<?php $page?>">2</a>
|
Ничего не понял... Что тут происходит?))
Ну, всё равно, раз не хочет работать с лимитом. Тогда попробуем сделать выборку на все строки и разобрать их скриптом.
Например так (предполагаю, что скрипт называется guestbook.php и передаются параметры вида guestbook.php?page=2):
PHP код:

$post_on_page=20; // определяем, сколько записей на страницу выводить
$q = odbc_exec($connect_id, "Select * from book ORDER BY Dat DESC"); // шлём запрос к БД на всю таблицу
$num_rows = считать_количество_строк($q); // в MySQL это было mysql_num_rows($q). В ахсексе не знаю.
$row_start = ($_GET['page']-1) * $post_on_page; // начальная строка будет определяться как номер страницы (начиная с нуля - поэтому ставим "-1") умножить на количество постов на страницу
for ($i = $row_start; $i < ($row_start + $post_on_page); $i++) // может неоптимально, но всё же. Циклом проходим по строкам, которые будут выводиться. В $i записывается номер текущей строки
{
$result=mysql_fetch_assoc($q); // опять же, как в ахсексе - не знаю. Разбиваем строку. Т.е. в $result будет содержаться массив.
echo "<p><b>".$result['autor']."</b><br />".$result['message']."</p><hr />"; // выводим сообщение в нужном нам виде. Предполагается, что autor и message - это столбцы из базы данных. Они были внесены в массив предыдущей командой. Тегами по вкусу можно разбавить.
}
// после цикла все сообщения со страницы выведены. Теперь список страниц внизу сделаем. Можно и перед сообщениями ещё. Если делаем и там, и там, то можно записать вывод в переменную, а потом два раза её использовать.
$num_pages = $num_rows / $post_on_page; // определяем, сколько страниц можно получить при таком количестве сообщений. Наверное, надо округлить вверх, но я не помню функцию.
for ($i = 1; $i <= $num_pages; $i++) // для каждой страницы своя ссылка будет. По поводу сравнения сомневаюсь - то ли строго меньше, то ли меньше-равно.
{
echo "$nbsp;<a href='guestbook.php?page=$i'>$i</a>"; // проще простого
}
Ну и всё, пожалуй. На работоспособность не проверял. Будут ошибки - сообщи, попробую поправить.
UPD: Ой, какая красивая разноцветная картинка получилась. Гламурненько =^_^=