2010-07-28 5 views
0

Я хочу напечатать incresing число с каждым сообщением. Как и у каждого форума есть это.разбиение на страницы и нумерацию строк

настоящее время я использую это:

$i = 0; while ($post = mysql_fetch_assoc($rs)): $i++; 

Допустим, я напечатать 5 пост на странице

Это то, что происходит:

#1 First post 
#2 2nd post 
#3 3rd post 
#4 4th post 
#5 5th post 

Then you go to page to 2 

#1 6th post 
#2 7th post 
#3 8th post 
#4 9th post 
#5 10th post 

Я не хочу этого, я хочу, чтобы держать increse самый высокий номер с первой страницы

Код:

SELECT u.group_id, u.username, u.title, p.poster, p.message, p.thread_id, g.g_title, g.g_user_title FROM posts AS p 
     INNER JOIN users AS u ON u.id = p.poster 
     INNER JOIN groups AS g ON g.g_id = u.group_id 
     WHERE p.thread_id = $id 
     LIMIT $startIndex, $perPage 

ответ

1

Вы должны иметь переменную, идентифицирующую, какие страницы вы на. Умножьте номер страницы на количество элементов на странице. Voila, уникальный идентификатор первого элемента страницы N.

1

Вместо печати $row печати ($row + ($page * $pagesize))

+0

Он не будет работать со страницей # 1 – Kirzilla

+0

Да будет, если вы начнете отсчет с 0. – tster

1

необходимо учитывать номер страницы. если начать нумерацию страниц с 0 Вы должны начать отсчет с $ currentPageNumber * $ itemsPerPage

0
if ($page == 1) { 
    $ex_page = 0; 
} else { 
    $ex_page = $page; 
} 

$big_post_number = $row_num + $ex_page * $items_per_page; 
+0

Это не будет работать с любой страницей больше 2 – tster

Смежные вопросы