sarcodin
Эксперт
Дата регистрации:
30.09.2011 00:53:49
Сообщений: 128
Как создать блок со страницами?
Предположим создаю таблицу data в ней будут храниться все материалы сайта(статьи, уроки и т.д.).
Делаю запрос:
$id = $_GET["id"];
mysql_query("SELECT * FROM data WHERE id='$id'"
;
и с помощью функции printf вывожу все записи на главную страницу, а как сделать чтобы на страницу выводилось всего 10 записей, а страницы автоматически создавались.
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Так пишите запрос так, чтобы он выводил 10 записей. Далее их выводите. И создавайте ссылку, которые будут вести на страницу с другим GET-параметром, который будет приниматься и выводить другие 10 записей.
sarcodin
Эксперт
Дата регистрации:
30.09.2011 00:53:49
Сообщений: 128
Например вот так:
$res = mysql_query("SELECT * FROM data WHERE id=$id limit 10"
;
$row = mysql_fetch_array($res);
После вывожу поля в блок со статьями.
А в блок со страницами пишу:
<div class="pages">
<a href="index.php?id=%s">%s</a>
</div>,<?php echo $row["id"]?>,<?php echo $row["id"]?>
а я вот не понял , а как они сами будут создаваться
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
<a href="index.php?id=%s">%s</a> - вот тут Вы и создаёте новые страницы, точнее ссылки на другие страницы. Благодаря разным id.
sarcodin
Эксперт
Дата регистрации:
30.09.2011 00:53:49
Сообщений: 128
а от куда будут браться эти id если выборка только на страницы, если вам не трудно приведите пример запроса и выборки, а то мне не понятно от куда мы берем id для страниц. Заранее благодарю!
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Я это знать и не могу. Если привести пример, то можно такой: http://myrusakov.ru/php-page-navigation.html
sarcodin
Эксперт
Дата регистрации:
30.09.2011 00:53:49
Сообщений: 128
Я вот не понял вот эту строчку
$shift = $count * ($page - 1);// Смещение в LIMIT. Те записи, порядковый номер которого больше этого числа, будут выводиться.
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Это нужно для того, чтобы выводить только те записи, которые нужны. Если перевести то так: на 1-й странице вывести с 1-й по 10-ю запись, на 2-й странице вывести с 11-й по 20-ю запись и так далее. Вот это смещение здесь и подсчитывается.
sarcodin
Эксперт
Дата регистрации:
30.09.2011 00:53:49
Сообщений: 128
Я вот немного не понял по поводу именно вот этой строчки
$count * ($page - 1)
если в вашем примере, то мы 5 умножаем на количество страниц и вычитаем 1 или наоборот сначала и количества страниц вычитаем один а потом умножаем на 5
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Сначала из текущей страницы вычитаем 1, затем результат умножаем на 5 (это обычные скобки, прошу прощения, но арифметику проходят в 1-м и 2-м классе, стыдно...). Количества страниц здесь вообще нет. Есть только текущая страница и количество записей на одной странице.