PDA

Просмотр полной версии : Постраничный вывод


Dantark
30.12.2009, 16:58
Начал делать постраничный вывод и столкнулся спроблемой. Она заключается в том что я нуб))) Основной принцип - лимиты. А дальше сколько меня не направляли на мануалы по found_rows как создат страницы я непонял. Кто может мне как нубу обьяснить?

-=Zhenek=-
30.12.2009, 17:23
Что именно тебе не понятно?

Вот пример зазберешься сам :


$recs_per_page = "10"; // количество объявлений на странице
////////////////////////////////////////
$sql="select count(*) as num_recs FROM data WHERE kat='$kat_id' $add $bukva ORDER by id DESC";


$rset = mysql_query($sql);
if ($rset) list($num_recs) = mysql_fetch_row($rset);
else $num_recs = 0;
if ($num_recs > 0) {
if (isset($_GET['page']) && is_numeric($_GET['page'])) $page = $_GET['page'];
else $page = 1;

$max_page = ceil($num_recs / $recs_per_page);
if ($page > $max_page) die("out of page :)");
else {
$offset = ($page-1) * $recs_per_page;

$sqll="SELECT * FROM data WHERE kat='$kat_id' $add $bukva ORDER by id DESC LIMIT $offset, $recs_per_page ";

$rsett = mysql_query($sqll);
}
$num_rows = mysql_num_rows($rsett);
echo "<center><table border=0><tr><td>&nbsp;</td></tr></table>";

if ($num_rows > 0) {
//***********
while($data=mysql_fetch_row($rsett)) {
list($k_id,$k_kat,$k_fio,$k_town,$k_phone,$k_mail, $k_poz,$k_url1,$k_url2,$k_rubrik,$k_poroda,$k_text ,$k_avtor)=$data;
if ($k_mail != "" ){$butt = " <INPUT class=em type=button onClick=\"window.open('$adress/send.php?id=$k_avtor','test1','directories=no,heig ht=250,location=no,menubar=no,resizable=no,scrollb ars=no,status=no,toolbar=no,width=350');\" value=Ответить name=button>";}else {$butt="";}
echo "
<TABLE width=100% border=0 cellspacing=0 cellpadding=0>
<TR valign=top>
<TD colspan=2>
$ero </TD>
</TR>
<TR valign=top>
<TD colspan=2>
<H3 class=b>$k_poroda</H3>
$k_text </TD>
</TR>
<TR>
<TD colspan=2><I>Г.:
$k_town; Контакт:
$k_fio;
Сайт: <A href='$k_url'>
$k_url</A>;
Телефон:
$k_phone </I>
</TD>
</TR>
<TR>
<TD colspan=2><I>Добавлено: 10.05.2009 12:24</I></TD>
</TR>
<TR>
<TD colspan=2>
$butt
</TD>
</TR>
</TABLE><br>
";

}
//***********
}
$cat = $_GET['cat'];
$rub = $_GET['rub'];
if($rub == "") {$rub = "all/";}else {$rub = $rub. "/";}
$page = $_GET['page'];
if ($page == "") {$page="1";}
$buk=$_GET['bukv'];
if ($buk != "") {$buk="/".$buk;}
echo "<hr>";
$maxp = min($max_page, $page + 3);
$minp = max(0, $page - 3);

echo "<center>";
if ($_GET['page'] > "1") {
$odn = 1;
echo "<a href=$adress/kat/$cat/$rub"."1".$buk."> << На первую</a>&nbsp;&nbsp;&nbsp;";
}
for ($i = $minp; $i < $maxp; $i++) {
echo "<a href=$adress/kat/$cat/$rub".($i+1)."$buk>"; If ($page == ($i+1)) {
echo "<font color=black>[".($i+1)."]</font>";
}else {
echo $i+1;
}
echo"</a>&nbsp;&nbsp;&nbsp;";
}
if ($_GET['page'] != $max_page) {
echo "<a href=$adress/kat/$cat/$rub$max_page$buk> На последнюю >></a>&nbsp;&nbsp;&nbsp;";
}

}else {
echo "<TABLE width=100% border=0 cellspacing=0 cellpadding=0>
<TR valign=top>
<TD colspan=2>
<br><br> <center>Нет объявлений соответствующих вашим требованиям</center> </TD>
</TR> </table>";
}



Код взял прямо из скрипта,поэтому сам разбирайся что куда.

b3
30.12.2009, 17:23
файлы:
https://forum.antichat.ru/showpost.php?p=1748948&postcount=10
бд:
https://forum.antichat.ru/showpost.php?p=1739576&postcount=2

LStr1ke
30.12.2009, 17:39
И мое! =)
Файлы:
https://forum.antichat.ru/showpost.php?p=1748812&postcount=9
Бд:
https://forum.antichat.ru/showpost.php?p=1739660&postcount=3

Dantark
30.12.2009, 18:07
В данных примерах в адресной страке присутствует GET параметр page
у меня же идет чистая страница somepage.php откуда параметр накопать?

-=Zhenek=-
30.12.2009, 18:11
это и есть страница на которой находится пользователь. Номер страницы.

LStr1ke
30.12.2009, 18:14
В данных примерах в адресной страке присутствует GET параметр page
у меня же идет чистая страница somepage.php откуда параметр накопать?
Ну а как ты себе представляешь навигацию по ссылкам? Если тебя смущает get параметры, то юзай post и ajax

Dantark
30.12.2009, 18:14
Да но когда он у мня чистый (в адресной http://somepage.php) и на нем лс, гостевая, новости.... не важно. $_GET['page'] по большей вероятности вернет ошибку

-=Zhenek=-
30.12.2009, 18:17
давай код. я помогу. (тока сюда пости)
желательно вместе с тем где у тебя разделение где выводится гостевая а где что

LStr1ke
30.12.2009, 18:18
Да но когда он у мня чистый (в адресной http://somepage.php) и на нем лс, гостевая, новости.... не важно. $_GET['page'] по большей вероятности вернет ошибку
Если эта переменная нигде не используется, то никакой ошибки не будет. Попробуй код и смотри на ошибку

Dantark
30.12.2009, 18:27
Прежде чем привинчивать в работающую (пока что) гостевую код я хочу в нем разобраться... пока до моего пропитого мозга доходят лишь отголоски........ разделения в гостевой нет пока все единым while выводится на страницу. Ща скопипастю один из кодов посмотрим что выйдет

Dantark
30.12.2009, 20:52
Дайте ктонить вашу аську я один не справлюсь :-/

-=Zhenek=-
01.01.2010, 11:34
Выложи полностью код файла somepage.php