Jump to content

Постраничная навигация


_one
 Share

Recommended Posts

Здравствуйте уважаемые Люди. Помогите мне сделать вот такую вот постраничную навигацию:

48288460b5e7.png

В ней вроде как ничего сложного, но я один не смогу. У меня на php странице выводятся сразу все цитаты которые есть в базе, а мне нужно чтобы было по 30 на странице, и чтобы та страница на которой находится пользователь была выделена жирным, в нашем случае это страница 15. И еще важная деталь... Вот допустим у меня 60 цитат, это 2 страницы получается и когда добавляешь 61 цитату то чтобы 3 страница сама появлялась. Ну я надеюсь вы меня поняли. Сильно надеюсь на вашу помощь. На предыдущем форуме мне не помогли.

Link to comment
Share on other sites

извините что так нагло, но все же раздел не "для начинающих", и я этим воспользуюсь:

Гугл

Виктор, да я искал и ничего нормального не нашел. Понимаете, именно тот вариант переключателя который мне нужен я так и не нашел, вот и решил спросить помощи здесь.

P.S. Возможно я перепутал раздел. Я думаю будет не трудно перенести тему.

Edited by _one
Link to comment
Share on other sites

Начните с подключения к базе. (mysql_connect)

потом сформируйте запрос (mysql_query). Как сформировать почитайте тут (кстати тут описаны все этапы)

дальше можно использовать код написанный Int для вывода рядочка ссылок и выделения жирненьким активной странички.

Link to comment
Share on other sites

Начните с подключения к базе. (mysql_connect)

потом сформируйте запрос (mysql_query). Как сформировать почитайте тут (кстати тут описаны все этапы)

дальше можно использовать код написанный Int для вывода рядочка ссылок и выделения жирненьким активной странички.

Виктор, вы не будете против если я добавлю вас в ICQ?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Ну а я не умею.

Edited by _one
Link to comment
Share on other sites

mysql_connect("host", "user", "pass"); // подключаемся к БД
mysql_select_db("db"); // выбираем БД
$resource = mysql_query("SELECT COUNT(*) FROM table"); // спрашиваем, сколько записей в таблице с цитатами
$line = mysql_fetch_row($resource); // получаем ответ от мускула
$count = $line[0]; // переменная count содержит количество всех записей в таблице
$need = 30; // переменная need показывает, сколько записей выводить на одну страницу
$pages = (int) ($count / $need); // вычисляем количество страниц
if ( ($count / $need) > 0 ) $pages++; // если count делится на need неровно, то страниц будет на 1 больше

$CurrentPage = 1;
if ( isset( $_GET['PageNumber'] ) and is_numeric( $_GET['PageNumber'] ) ) $CurrentPage = $_GET['PageNumber'];
$start = $CurrentPage * $need - $need;
$limit = "LIMIT " . $start . ", " . $need;
if ( $pages > 1 ) // если страниц больше одной, то выводим их
{
echo '<div><strong>Страницы</strong>:';
for ( $i = 0; $i < $pages; $i++ ) //
{
if ( $i != $CurrentPage )
{
echo '<a href="/page' . $i . '"> ' . $i . '</a>';
}
else
{
echo '<strong> ' . $i . '</strong>';
}
}
echo '</div>';
}

// на этом этапе мы вывели только ссылки на страницы
// далее выводим контент выбранной страницы

$request = "SELECT * FROM table ORDER BY id DESC " . $limit;
$resource = mysql_query( $request );
$CountOfNotes = mysql_affected_rows();
if ( $CountOfNotes < 1 ) exit; // если записей нет, то выходим из скрипта
for ( $i = 0; $i < $CountOfNotes; $i++ )
{
$note = mysql_fetch_array($resource);
echo '<div><h1>' . $note['Head'] . '</h1><p>' . $note['Body'] . '</p></div>';
}

Соответственно, в .htaccess нужно добавить примерно следующий код

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)page/(.*)$ $1index.php?PageNumber=$2

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy