Вот я вывожу постранично данные из базы в обратном порядке. На страничке по 20 записей. Страничек получилось, к примеру, 10 всего. Соответственно я имею на 1й странице последние 20 записей из базы, т.к. вывод в обратном порядке, а на 10й странице - первые 20 записей.
То есть наглядно мы видим на первой странице (результат 1):
Цитата:запись 49
запись 48
запись 47
запись 46
...
Страницы: 1 2 3 4 5 6 7 8 9 10
и соответственно на последней (результат 2):
Цитата:...
запись 4
запись 3
запись 2
запись 1
Страницы: 1 2 3 4 5 6 7 8 9 10
А требуется, что бы страницам из результата 2 соответствовали записи из результата 1,
а страницам из результата 1 соответствовали записи из результата 2
Развернуть выходящие данные из базы обратно не вариант, т.к. записи нужны именно в таком порядке.
для наглядности, должно быть так:
Цитата:...
запись 4
запись 3
запись 2
запись 1
Страницы: 1 2 3 4 5 6 7 8 9 10
и соответственно
Цитата:запись 49
запись 48
запись 47
запись 46
...
Страницы: 1 2 3 4 5 6 7 8 9 10
Подскажите в какую сторону копать?
через определение общего количества страниц?
сам код
PHP:
скопировать код в буфер обмена
// база данных $database = "database" ; //название таблицы в базе $table = "text" ; // кол-во записей на странице $users_on_page = "4"; // считаем число записей // считаем страницы $total = ceil($count[0 ]/$users_on_page); // страницы в url if(empty($_GET["p"])){$_GET["p"] = "1" ;} $p = $_GET["p"] ; endif; // формируем запрос $first = $p*$users_on_page-$users_on_page ; $result=mysql_query("select * from `$table` ORDER BY id DESC limit $first, $users_on_page") ; //вывожу данные print "<div><div>#".$data[0].' ' ; print $data[2]." " ; print $data[1]."</div>" ; print $data[3]."</div>" ; } //вывожу кол-во страниц for($i=1; $i< $total+1;$i++){ $html .= "<a href='index.php?p=".$i."'>".$i."</a> "; } echo $html;
(Отредактировано автором: 09 Сентября, 2015 - 23:28:40)
|