Forum Webscript.Ru

Программирование => PHP => Тема начата: Sigma от 21 Января 2004, 15:30:41

Название: Разбиение на страницы
Отправлено: Sigma от 21 Января 2004, 15:30:41
Вот предположим сделан запрос к базе данных, навыдавал он мне так результатов, всё ок. Как сделать так, чтобы запрос выдавал скажем по 5 штук на странице, а внизу страницы был бы переключатель страниц. Может у кого есть примерчик, как это реализовано, чтобы разобраться ?
Название: Разбиение на страницы
Отправлено: Yukko от 21 Января 2004, 15:34:48
http://forums.webscript.ru/showthread.php?s=&threadid=15360&msgnum=43 - последнее

а так же поиск по форуму:
http://forums.webscript.ru/search.php?s=&action=showresults&searchid=147089&sortby=lastpost&sortorder=descending
Название: Разбиение на страницы
Отправлено: Mаster от 21 Января 2004, 15:39:00
Ну вот пример с линками...

   $query = mysql_query("SELECT * FROM ".$table_pf."_groop_links WHERE groop = \'".$this_links_groop."\' ORDER BY id_order DESC");
while ($var_groop_links = mysql_fetch_array($query)) {
echo "".$var_groop_links[\'title\']."

";
if (!isset($links_page)) {$links_page = 1;}
$to_page = 15;
$lp = ($links_page * $to_page) - $to_page + 1;
$query2 = mysql_query("SELECT * FROM ".$table_pf."_links WHERE groop = \'".$this_links_groop."\' ORDER BY id_order DESC");

if (mysql_num_rows($query2) > $to_page) {
echo "
Страницы: ";
for ($i = 1; $i <= ceil(mysql_num_rows($query2) / $to_page); $i++) {
if ($i == $links_page) {
echo " [ ".$i." ] ";
} else {
echo " [ ".$i." ] ";
}
}
echo "
";
}


$key = 0;
echo "";
while ($var_links = mysql_fetch_array($query2)) {
if (($key+1) >= $lp && ($key+1) < $lp + $to_page) {
echo ("
     
     
     
     
");
}
$key++;
}

echo "
".$var_links[\'code\']."".$var_links[\'description\']."
";

if (mysql_num_rows($query2) > $to_page) {
echo "
Страницы: ";
for ($i = 1; $i <= ceil(mysql_num_rows($query2) / $to_page); $i++) {
if ($i == $links_page) {
echo " [ ".$i." ] ";
} else {
echo " [ ".$i." ] ";
}
}
echo "
";
}

}
Название: Разбиение на страницы
Отправлено: Yukko от 21 Января 2004, 15:46:55
Mаster
Эту тему уже так обсосали, что дальше некуда, Sigma же не возьмет ни одной строчки из твоего кода... радоваться тому, что у тебя есть своя реализация постраничного вывода надо тихо и в оффлайне.
Название: Разбиение на страницы
Отправлено: Mаster от 21 Января 2004, 16:01:19
Yukko а что в ней не так?
разьве что только запрос вытаскивает все линки из таблицы, а потом циклом отбирает нужные...
да не совсем спортивно для тяжелых задач, но его же интересовал принцип.
Название: Разбиение на страницы
Отправлено: Yukko от 21 Января 2004, 16:05:12
Цитировать
Mаster:
но его же интересовал принцип.

ее!



насчет всего остального я уже, ИМХО, объяснил
Название: Разбиение на страницы
Отправлено: Sigma от 21 Января 2004, 17:01:19
ок, читаем ...
Название: Разбиение на страницы
Отправлено: Меняздесьдавнонет от 21 Января 2004, 20:51:37
Sigma , хы, какая козырная тема :-)

Mаster , КАКОЙ КОШМАР! Ты бы постыдился это убожество в сеть-то выкладывать. Ты не мастер, родной. Ты дикарь с острова папуасов.

Sigma, дело, конечно, твое. Если тебе легче учиться по коду в 50 строчек, чем в 5, и ты считаешь что учиться надо у такого же чайника, как ты сам, который ничего не смыслит - то флаг тебе в руки.

Если же ты хочешь нормальный пример, то возьми в руки поиск и посмотри на этом форуме.
твоя задача называется "постраничный вывод".

Есть еще вариант. Не смотреть готовое, а попробовать сделать самому.
Это та задача, которая легко решается самостоятельно - следует только чуть-чуть подумать.
задача сводится к двум частям - запросить у базы нужные записи - тут сам не сообразишь, это надо знать - это делает оператор LIMIT с_какой, сколько

А вот ссылки вывести - это один цикл.
Название: Разбиение на страницы
Отправлено: Mаster от 22 Января 2004, 11:19:30
Цитировать
Ты бы постыдился это убожество в сеть-то выкладывать

я сгласен... код старый и не доработаный, но принцип то в нем есть... хотя ты прав.