Простой вопрос SQL - PullRequest
0 голосов
/ 12 июля 2009

(я не мог придумать хорошее название, извините)

Так что я использую эту нумерацию страниц:

$page = $_GET['page'];

$max = 5;

// if $page is empty, set page number to 1
if (empty($page)) $page = 1;

$limit = ($page - 1) * $max; 

$sql = mysql_query("SELECT * FROM posts ORDER BY date DESC LIMIT $limit, $max");

$totalres = mysql_result(mysql_query("SELECT COUNT(id) AS tot FROM posts WHERE tid =     1"),0);    

$totalpages = ceil($totalres / $max);
?>

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

Надеюсь, что вы, спасибо

1 Ответ

1 голос
/ 12 июля 2009

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

  1. Самый старый пост
  2. Все остальные сообщения минус самая старая запись с поправкой на позицию страницы ...

    select * from posts order by date DESC limit 0,1
    union
    select * from posts order by date desc limit $start,$end

Теперь настройте свои значения так, чтобы в начале была либо страница, которую вы хотите минимум 1 (если это 0, ваш самый старый пост будет показан дважды)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...