Thread View: pl.comp.lang.php
5 messages
5 total messages
Started by LFC
Sat, 04 Jun 2016 21:20
przewijanie stron - przydługie
Author: LFC
Date: Sat, 04 Jun 2016 21:20
Date: Sat, 04 Jun 2016 21:20
126 lines
4570 bytes
4570 bytes
Mam pewien problem ze stroną. Gdy ilośc publikacji się zwiększa strona
wyświetla u dołu klawisze cofania i postępu do przesuwania podglądu, a
właściwie wyświetlania kolejnego zestawu publikacji w tym samym oknie.
Mniemam, że tak właśnie powinno to działać, ale nie działa. Któregokolwiek
klawisza się nie dotknie strona zostaje na aktualnym widoku.
Nie jestem masta w php, radzę sobie z prostymi rzeczami, natomiast tutaj nie
mam pewności, czego sie tknąć, wiec prosze o jakąś podpowiedź
Całość wg mnie jest zawarta we fragmencie pliku index.php i funkcje.php.
Oto te fragmenty -
Fragment index.php:
include "funkcje.php";
if(NEWS_LIMIT>0) {
$res1 = mysql_query("SELECT COUNT(*) FROM news
WHERE grupa='news'") or print("SQL error count");
$arr1 = mysql_fetch_row($res1);
$page_limit = NEWS_LIMIT;
list($pager_buttons, $limit) =
pager($page_limit, $arr1[0], "index.php?zakladka=aktualnosci");
}
$res = mysql_query("SELECT * FROM news WHERE
grupa='news' ORDER BY id DESC ".$limit."") or print("Error read");
while ($news = mysql_fetch_assoc($res)) {
echo '
<div class="news_panel">
<p class="news_title"><span>'.
$news['data'].'</span>'.$news['tytul'].'</p>
<div class="news">
'.$news['wpis'].'
</div>';
zalaczniki($news['zalacznik']);
echo '
</div>
';
}
if (NEWS_LIMIT>0 and ($arr1[0] > $page_limit)) echo
$pager_buttons;
Fragment funkcje.php:
function pager($rpp, $count, $page_back='') {
$pages = ceil($count / $rpp);
$pagedefault = 0;
if($page_back!='?action=news')
$and = "/";
else
$and = "&page=";
if(isset($_GET["page"]))
$pager =0 + $_GET["page"];
if ($pager < 0)
$pager = $pagedefault;
$pager_left = "";
$mp = $pages - 1;
$as = '<<';
if ($pager >= 1) {
$pager_left .= "<a class=\"page_minus\" href=\"".$page_back.$and.
($pager - 1)."\">";
$pager_left .= $as;
$pager_left .= "</a>";
}
else
$pager_left .= "<span>$as</span>";
$pager_right = "";
$as = '>>';
if ($pager < $mp && $mp >= 0) {
$pager_right .= "<a class=\"page_plus\" href=\"".$page_back.$and.
($pager + 1)."\">";
$pager_right .= $as;
$pager_right .= "</a>";
}
else
$pager_right .= "<span>$as</span>";
if ($count) {
$pagerarr = array();
$dotted = 0;
$dotspace = 3;
$dotend = $pages - $dotspace;
$curdotend = $pager - $dotspace;
$curdotstart = $pager + $dotspace;
for ($i = 0; $i < $pages; $i++) {
if (($i >= $dotspace && $i <= $curdotend) || ($i >= $curdotstart
&& $i < $dotend)) {
if (!$dotted)
$pagerarr[] = "...";
$dotted = 1;
continue;
}
$dotted = 0;
$start = $i * $rpp + 1;
$end = $start + $rpp - 1;
if ($end > $count)
$end = $count;
$text = $i+1;
if ($i != $pager)
$pagerarr[] = "<a href=\"".$page_back.$and.
$i."\">$text</a>";
else
$pagerarr[] = "<span>$text</span>";
}
$pagerstr = join(" ", $pagerarr);
$pagerbottom = "<p class=\"pager\">$pager_left $pagerstr
$pager_right</p>\n";
}
else {
$pagerbottom = "<p class=\"pager\">$pager_left $pager_right</p>\n";
}
$start = $pager * $rpp;
return array($pagerbottom, "LIMIT $start,$rpp");
}
Lata temu, gdy strona była wykonana nie było na niej publikacji, zeby
sprawdzić działanie tej funkcji, a teraz jest za późno na reklamacje.
Trzeba samemu kombinować. Oczywiście poza tym strona działa, jak trzeba.
--
LFC
Re: przewijanie stron - przydługie
Author: Borys Pogoreło
Date: Sat, 04 Jun 2016 20:35
Date: Sat, 04 Jun 2016 20:35
15 lines
1261 bytes
1261 bytes
Dnia Sat, 04 Jun 2016 23:20:01 +0200, LFC napisał(a): > Lata temu, gdy strona była wykonana nie było na niej publikacji, zeby > sprawdzić działanie tej funkcji, a teraz jest za późno na reklamacje. > Trzeba samemu kombinować. Oczywiście poza tym strona działa, jak trzeba. Ten kod to jakiś koszmar. Czy NEWS_LIMIT jest większe od zera? Jak wygląda link do kolejnego zbioru wyników? -- Borys Pogoreło borys(#)leszno,edu,pl
Re: przewijanie stron - przydługie
Author: LFC
Date: Sun, 05 Jun 2016 22:50
Date: Sun, 05 Jun 2016 22:50
25 lines
1508 bytes
1508 bytes
Borys Pogoreło wrote: > Dnia Sat, 04 Jun 2016 23:20:01 +0200, LFC napisał(a): > >> Lata temu, gdy strona była wykonana nie było na niej publikacji, zeby >> sprawdzić działanie tej funkcji, a teraz jest za późno na reklamacje. >> Trzeba samemu kombinować. Oczywiście poza tym strona działa, jak trzeba. > > Ten kod to jakiś koszmar. > > Czy NEWS_LIMIT jest większe od zera? > Tak echo pokazuje, że 5 > Jak wygląda link do kolejnego zbioru wyników? > w pasku podpowiada http://www.domena.pl/index.php?zakładka=aktualnosci/1 , czy 2 w zalezności, na którym klawiszu stanie kursor, ale to nie działa niestety. -- LFC
Re: przewijanie stron - przydługie
Author: ww
Date: Tue, 07 Jun 2016 10:36
Date: Tue, 07 Jun 2016 10:36
30 lines
2312 bytes
2312 bytes
W dniu 2016-06-06 o 00:50, LFC pisze: > Borys Pogoreło wrote: > >> Dnia Sat, 04 Jun 2016 23:20:01 +0200, LFC napisał(a): >> >>> Lata temu, gdy strona była wykonana nie było na niej publikacji, zeby >>> sprawdzić działanie tej funkcji, a teraz jest za późno na reklamacje. >>> Trzeba samemu kombinować. Oczywiście poza tym strona działa, jak trzeba. >> >> Ten kod to jakiś koszmar. >> >> Czy NEWS_LIMIT jest większe od zera? >> > > Tak echo pokazuje, że 5 > >> Jak wygląda link do kolejnego zbioru wyników? >> > > w pasku podpowiada http://www.domena.pl/index.php?zakładka=aktualnosci/1 > , czy 2 w zalezności, na którym klawiszu stanie kursor, ale to nie działa > niestety. Wygląda jakby ktoś to popsuł przy tłumaczeniu. W tym mechanizmie stronicowania jest wpisany wyjątek dla strony kończącej się na "action=news" a tu masz zmienione na "zakładka=aktualnosci". Zamiast tego /[numer] powinno wtedy być ?page=[numer] i to jest parametr, którego skrypt potem oczekuje. Nawiasem mówiąc straszny kod.
Re: przewijanie stron - przydługie
Author: LFC
Date: Wed, 08 Jun 2016 06:47
Date: Wed, 08 Jun 2016 06:47
17 lines
1521 bytes
1521 bytes
ww wrote: > > Wygląda jakby ktoś to popsuł przy tłumaczeniu. W tym mechanizmie > stronicowania jest wpisany wyjątek dla strony kończącej się na > "action=news" a tu masz zmienione na "zakładka=aktualnosci". Zamiast > tego /[numer] powinno wtedy być ?page=[numer] i to jest parametr, > którego skrypt potem oczekuje. > > Nawiasem mówiąc straszny kod. Dzieki! Działa. Zgadzam się, ten kod jest katastrofalny. Nie jestem masta w php, ale na ogół, gdy jest kod jest dobrze napisany jestem w stanie zrobić jakieś drobne poprawki, lub drobne rzeczy dopisać. Tu osłabłem. LFC
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads