Xwab
Форумыnavigate_nextПрограммирование на PHP

Помогите сделать постраничную навигацию
Сообщения
Sten

Народ помогите пожалуйста я этого кода сделать навигацию $ree = mysql_query("SELECT * FROM `sms`");
while ($res = mysql_fetch_array($ree)) {
echo '('.$res['text'].')<br/>';
} а по вашему примеру я буду разбираться что к чему спасибо за ранее

26 Ноя 2011, 9:17
GraF

поковыряй пабличные скрипты чатов, форумов

26 Ноя 2011, 9:37
RuSS

Sten, тебе нужен код или понимание как это сделать?

26 Ноя 2011, 9:44
Sten

Код

26 Ноя 2011, 9:57
PeraX

вот здесь пример зорошей навигации http://bakler.org/blog/11

26 Ноя 2011, 9:59
DenSBK

Sten, Наипростйшая навигация мне кажется в DCMS.
Вот тебе функция:
function page($k_page=1){ // Выдает текущую страницу
$page=1;
if (isset($_GET['page'])){
if ($_GET['page']=='end')$page=intval($k_page);elseif(is_numeric($_GET['page'])) $page=intval($_GET['page']);}
if ($page<1)$page=1;
if ($page>$k_page)$page=$k_page;
return $page;}

function k_page($k_post=0,$k_p_str=10){ // Высчитывает количество страниц
if ($k_post!=0){$v_pages=ceil($k_post/$k_p_str);return $v_pages;}
else return 1;}

function str($link='?',$k_page=1,$page=1){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
echo "<div class='page'>";
if ($page<1)$page=1;
if ($page>1)echo "<a href=\"".$link."page=".($page-1)."\" >&lt; назад</a> ";
echo " ";
if ($page<$k_page)echo " <a href=\"".$link."page=".($page+1)."\">далее &gt;</a>";
echo "<br />\n";
if ($page!=1)echo "<a href=\"".$link."page=1\">1</a>";else echo "<b>1</b>";
for ($ot=-3; $ot<=3; $ot++){
if ($page+$ot>1 && $page+$ot<$k_page){
if ($ot==-3 && $page+$ot>2)echo " ...";
if ($ot!=0)echo " <a href=\"".$link."page=".($page+$ot)."\" >".($page+$ot)."</a>";
else echo " <b>".($page+$ot)."</b>";
if ($ot==3 && $page+$ot<$k_page-1)echo " ...";}}
if ($page!=$k_page)echo " <a href=\"".$link."page=$k_page\">$k_page</a>";
elseif ($k_page>1)echo " <b>$k_page</b>";

echo "</div>\n";
}
добавлено спустя 8 минут:
Далее идем делать вывод на страничке:
[code]
<?php

$str = '10'; // Колличество записей на страницу

$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `sms`"),0); //Считаем сколько записей в таблице SMS
$k_page=k_page($k_post,$str); // Высчитываем количество страниц
$page=page($k_page); //Номер текущей страницы
$start=$str*$page-$str; //Это ХЗ сам не понял что за фича))
if ($k_post==0) // Если нет записей в таблице SMS
{
echo '<div class="ТВОЙ ДИВ">';
echo "Пусто!<br/>\n";
echo"</div>\n";
}

/// теперь выводим если есть записи!
$ree = mysql_query("SELECT * FROM `sms` WHERE ORDER BY id DESC LIMIT $start, $str");
while ($res = mysql_fetch_array($ree)) {
echo '('.$res['text'].')<br/>';
}

if ($k_page>1)str("?",$k_page,$page); // Выводим страницы
?>
[code]
Вот и все проще некуда))
добавлено спустя 2 минуты:
Также функции которые дал в начале поста обязательно надо поместить либо в код страницы а вообще лучше сделать инклуд.
Вдруг еще куда на сайте нужна будет навигация ее по такому принципу и будеш использовать))

26 Ноя 2011, 10:26
Sten

DenSBK, спасибо ша попробую вставить

26 Ноя 2011, 11:08
wapmorgan

ну и загнул... "наипростейшая" - ага. НЕЛЬЗЯ такой код давать в пример.
1, а вам, ленивый человек, google и иже с ним в помощь. - там мильоны ответов

26 Ноя 2011, 15:11
PeraX

wapmorgan, зачем туда? в 5 посте все изложенно

26 Ноя 2011, 15:15
Sten

wapmorgan, не умничай уважаемый

26 Ноя 2011, 20:31
Ответить на тему