Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.lang.php > #15151

przewijanie stron - przydługie

From LFC <longinf@mpwikzdw.com.pl>
Newsgroups pl.comp.lang.php
Subject przewijanie stron - przydługie
Followup-To pl.comp.lang.php
Date 2016-06-04 23:20 +0200
Organization ICM, Uniwersytet Warszawski
Message-ID <88mb2d-eu1.ln1@mpwik2.mpwikzdw.com.pl> (permalink)

Followups directed to: pl.comp.lang.php

Show all headers | View raw


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

Back to pl.comp.lang.php | Previous | NextNext in thread | Find similar


Thread

przewijanie stron - przydługie LFC <longinf@mpwikzdw.com.pl> - 2016-06-04 23:20 +0200
  Re: przewijanie stron - przydługie Borys Pogoreło <borys@pl.edu.leszno> - 2016-06-04 22:35 +0200
    Re: przewijanie stron - przydługie LFC <longinf@mpwikzdw.com.pl> - 2016-06-06 00:50 +0200
      Re: przewijanie stron - przydługie ww <ww@o2.pl> - 2016-06-07 12:36 +0200
        Re: przewijanie stron - przydługie LFC <longinf@mpwikzdw.com.pl> - 2016-06-08 08:47 +0200

csiph-web