Forum Webscript.Ru

Программирование => PHP => Тема начата: -DieseLok- от 06 Октября 2003, 23:49:46

Название: Как поделить на страницы?
Отправлено: -DieseLok- от 06 Октября 2003, 23:49:46
Здравствуйте! Может кто-то мне необразованому подскажет, ситуция:
у меня есть таблица в которой есть порядковый номер ($id), и мне надо чтобы таких порядковых номеров на одну страницу высвечивалось 5, тоесть при добавлении старые уходили в архив на другую страницу? или я даже незнаю от чего отталкиватся...

Вообщем как зделать разбивку по страницам, тоесть человек оставляет сообщения в гостевухе, старые сообщения остаються но помере поступления новых, старые уходят в архив... при этом в базе каждое сообщение имеет свой $id (и надо ли и как это зделать?, в таблице создавать номера таблиц?)


P.s. зарание огромное спасибо....
Название: Как поделить на страницы?
Отправлено: Oak от 07 Октября 2003, 01:10:58
Если в "базе"  -  спроси в разделе про "базы"
Название: Как поделить на страницы?
Отправлено: Макс от 07 Октября 2003, 01:22:54
поиск по PHP-форуму по слову постраничный
Название: Как поделить на страницы?
Отправлено: Меняздесьдавнонет от 07 Октября 2003, 01:35:10
-DieseLok-
Ты можешь запрашивать из базы только нужное количество записей.
Тебе надо бы подучить базы данных.
на http://www.mysql.ru есть книжки.
Обязательно прочти какую-нибудь.
Но как сейчас сделать я тебе скажу.

select * from gbook order by date desc limit 0,5

Этот запрос выберет тебе последние 5 записей.
и не надо никакого архива специпально создавать.
все старые будут автоматом попадать в "архив"
чтобы его посмотреть, надо всего лишь убрать из запроса LIMIT

чтобы показывать постранично, надо просто передавать по ссылке номер записи, с которой выводить. и подставлять его в лимит вместо 0
5 трогать не надо - это число, сколько записей выводить, оно постоянное.
Все очень простою Будут вопросы - спрашивай.
Но сначала сходи в поиск.
Название: Как поделить на страницы?
Отправлено: -DieseLok- от 07 Октября 2003, 14:08:30
Ситуация:

Есть таблица с полями:

id - номер сообщения
title - заголовок сообщения
content - тело сообщения
author - автор
email - ящик
date - дата

Все сообщения хранятся в базе
выводятся в файл gb.php, на этой же странице есть ссылочка, при нажатии на ссылку идёт открытие файла add.php (это форма), при заполнении она отправляет всю информацию в файл added.php который выводит сообщение об удачном добавлении сообщения и через 2 секунды переадрисовывается на gb.php в которую добавляется сообщение.

Вопрос:
1. Как мне зделать ограничение например на 5 таких сообщений на страницу?
2. И куда писать сам скрипт?


P.s. Попрошу с вопроса не смеятся (это не смешно). Я пытался разобратся в советах аналогичных тем но там немного не такая ситуация и я ещё не сильно понимаю поэтому не выходит, просто я только учусь. Зарание огромное спасибо!
Название: Как поделить на страницы?
Отправлено: AliMamed от 07 Октября 2003, 14:16:14
-DieseLok- тебе Ромик ответил - LIMIT
Название: Как поделить на страницы?
Отправлено: Меняздесьдавнонет от 07 Октября 2003, 14:41:00
Что тебе непонятно из того, что я написал?
Название: Как поделить на страницы?
Отправлено: -DieseLok- от 07 Октября 2003, 17:13:06
А куда это писать?
Название: Как поделить на страницы?
Отправлено: Alexandr от 07 Октября 2003, 17:26:28
Цитировать
-DieseLok-:
А куда это писать?

Сильнейший вопрос!!!!!!
Тебе же написали в конец select-запроса
Цитировать
RomikChef:
select * from gbook order by date desc limit 0,5
Название: Как поделить на страницы?
Отправлено: -DieseLok- от 07 Октября 2003, 17:30:40
Спасибо! это работает, но как мне зделать чтобы было видно те старые сообщения на других страницах?
Название: Как поделить на страницы?
Отправлено: Меняздесьдавнонет от 07 Октября 2003, 17:38:14
Ты большие обхемы текста не воспринимаешь?
Будем тебе цитировать по одной строчке
Цитировать
RomikChef:
чтобы показывать постранично, надо просто передавать по ссылке номер записи, с которой выводить. и подставлять его в лимит вместо 0


то есть, наделать ссылок. первая передает 0, вторая - 5, третья - 10 и так далее.
попробуй сначала так сделать руками.
а потом уж будем учить тебя сложению и делению.
Чувствую, это нелегкая будет задача...
Название: Как поделить на страницы?
Отправлено: -DieseLok- от 07 Октября 2003, 23:17:50
Вот код:

   include("config.php");
   $connection = mysql_connect("$server", "$db_user", "$db_pass");
   $db = mysql_select_db("$database", $connection);
   $table = mysql_tablename("$table", $connection);
   $query = "SELECT * FROM gb";
   $result = mysql_query($query, $connection);
   while ($rows = mysql_fetch_array($result))
{
?>

Я изменил на:

   include("config.php");
   $connection = mysql_connect("$server", "$db_user", "$db_pass");
   $db = mysql_select_db("$database", $connection);
   $table = mysql_tablename("$table", $connection);
   $query = "SELECT * FROM gb order by id desc limit 0,5";
   $result = mysql_query($query, $connection);
   while ($rows = mysql_fetch_array($result))
{
?>

Теперь он выводит последние пять сообщений, я понимаю что для вас это смешно, но как это зделать? И ещё может ли в качестве ссылки использоватся номера? тоесть $1, $2 или нет?
Название: Как поделить на страницы?
Отправлено: Меняздесьдавнонет от 08 Октября 2003, 10:48:10
Это не смешно, это грустно.
Гостевую ты не сам писал?
Название: Как поделить на страницы?
Отправлено: -DieseLok- от 08 Октября 2003, 11:25:41
Неа, я кусками повырывал из готового кода, то-что понравилось+то что смог вытащить, поможите?
Название: Как поделить на страницы?
Отправлено: Меняздесьдавнонет от 08 Октября 2003, 11:53:28
wwww.cgi.ru
http://www.hotscripts.com/PHP
Найди себе готовую гостевую. Я тебя уверяю, из сотен гостевых, которые написаны и валяются в сети, ты найдешь такую, которая тебя устраивает. уж не знаю, где ты нашел гостевую на mysql БЕЗ постраничного вывода, но писал ее уникум. Найди себе нормальную, от вменяемого автора.

Чтобы тебе помочь, тебя надо учить азам программирования, и объяснять, что такое интернет, сайт, ссылка, переменная.
Может быть, кто и возьмется, но лично я - пас...

Ты уж извини, но почему-то не хочется объяснять с азов прикладникам, которым надо не программу написать, а прикладную задачу решить.
Для таких есть склады скриптов, где можно найти все, что угодно - от гостевых до порталов.
Учись пользоваться интернетом.
Название: Как поделить на страницы?
Отправлено: -DieseLok- от 08 Октября 2003, 14:30:02
Спасибо, но я хочу сам разабратся, а то что скриптов много я знаю и так......
Название: Как поделить на страницы?
Отправлено: Меняздесьдавнонет от 08 Октября 2003, 14:33:57
ты знаешь, как передавать скрипту переменные по ссылке?
Название: Как поделить на страницы?
Отправлено: MrGreeN от 10 Октября 2003, 10:18:21
-DieseLok-
в заголовок передавай
URL?id=номер поля с которого хочешь начать
и слегка модифицируй блок с  запросом до следующего вида
if (isset($_GET[$id])) $from=intval($_GET[$id]); else $from=0;
$query = "SELECT * FROM gb order by id desc limit $from,5";
Название: Как поделить на страницы?
Отправлено: Меняздесьдавнонет от 10 Октября 2003, 11:11:30
ЬкПкууТ, ты уверен, что он понимает, что значит URL?
Я - нет ;-))))
Название: Как поделить на страницы?
Отправлено: MrGreeN от 10 Октября 2003, 11:31:49
RomikChef
Зато он  хочет разабратся ...
-DieseLok-
URL - это то что ты видишь в строке с названием Адрес в Internet Explorer\'e
//т.е.типа http://forums.webscript.ru/showthread.php
либо 5 строка
Название: Как поделить на страницы?
Отправлено: Художник от 12 Октября 2003, 14:58:29
RomikChef

Если я не ошибаюсь... мне придется писать еще одну функцию
для архива...? или есть и другие способы ?
Название: Как поделить на страницы?
Отправлено: Меняздесьдавнонет от 12 Октября 2003, 15:35:37
Художник, не вижу смысла даже в одной функции, и уж тем более - в "еще одной".
Так что, ничего не могу посоветовать