Strankovani – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Strankovani – PHP – Fórum – Programujte.comStrankovani – PHP – Fórum – Programujte.com

 

D-Fox0
Stálý člen
25. 1. 2007   #1
-
0
-
Nahlásit jako SPAM
IP: ...–
dalaman0
Věrný člen
25. 1. 2007   #2
-
0
-

Najskor si vytiahnes z databazy pocet stlpcov, ten si rozdelis na "kusky"(pocet prispevkov ktore chces vypisat na jeden page) a tie kusky budes potom pomocou sql prikazu limit vytahovat .

Osetrenie ci je posledny prvy a pod. je zu iba hracka s podmienkami....
POchopil si ??? Kod hadam zvladnes ...

Nahlásit jako SPAM
IP: ...–
Lepšie je mať psa na saláme ako salámu pod psom !!!
Prog.0
Věrný člen
26. 1. 2007   #3
-
0
-

Suhlasim s dalaman-om, ale kedze sa mi dnes dobre vstavalo a mam dobru naladu:

1) musis si urcit, kolko poloziek na stranku chces a kolko odkazov na predchadzajuce a nasledujuce strany zobrazit. Napr.:

$per_page = 20;  // pocet poloziek na stranu

$steps = 2; // chcem zobrazit odkazy na 2 predchadzajuce a 2 nasledujuce strany


2) potrebujes zistit, kolko poloziek mas dokopy a celkovy pocet stran
$total = MySQL_result(MySQL_query("select count(*) from ......"),0);

$last = ceil($total/$per_page); // pocet stran = cislo poslednej strany


3) zistis, ktoru stranu user chce zobrazit napr.
$page = IsSet($_REQUEST["page"]) ? (int)$_REQUEST["page"] : 1; 


if ($page<1) $page = 1; // osetrenie, keby bola
elseif ($page>$last) $page = $last; // pozadovana stranka kapik mimo rozsah


4) spravis html kod liniek na jednotlive strany
if ($last>1) 

{
$from = $page - $steps; if ($from<2) $from=2; // odkazy od ktorej strany budes vypisovat
$to = $page + $steps; if ($to>=$last) $to=$last-1; // odkazy do ktorej strany budes vypisovat

$pages_nav = '<div class="pages-navigation">';
$pages_nav.= '<span>Prejsť na stranu:</span> <a href="vypis.php"'.($page==1 ? ' class="selected"':'').'>prvú (1) </a> ';

if ($from>2) $pages_nav.="... "; // zobrazi 3 bodky za prvym linkom ak nenasleduje strana 2 ale niektora neskorsia

for($i=$from;$i<=$to;$i++)
$pages_nav.= "<a href=\"vypis.php?page=$i\"".($page==$i ? ' class="selected"':'')."> stranu $i </a> ";

if ($to<$last-1) $pages_nav.="... "; // ak za poslednou vypisanou stranou nenasleduje posledna

$pages_nav.= "<a href=\"vypis.php?page=$last\"".($page==$last ? ' class="selected"':'')."> poslednú ($last) </a>";
$pages_nav.= '</div>';

} else {
$pages_nav = '<div class="pages-navigation-empty"></div>'; // ak je len jedna strana
}


5) Vypis stranky

$limit_from = ($page-1)*$per_page+1; // prvy zaznam ktory sa ma vypisat

$table = MySQL_query("select * from.... LIMIT $limit_from, $per_page");

echo $pages_nav;
while($line=MySQL_fetch_array($table))
{
echo '<div class="polozka">'.$line[.....].'</div>';
}
echo $pages_nav;
MySQL_free_result($table);



Ehm, dufam ze v tom nebude vela chyb ;-)

Nahlásit jako SPAM
IP: ...–
Prog.
D-Fox0
Stálý člen
26. 1. 2007   #4
-
0
-

Thx oboum, kupodivu sem to zprovoznil. Skoda ze nemam na to abych to vymyslel sam :), budu se muset vic snazit. Supr prace.

Nahlásit jako SPAM
IP: ...–
dalaman0
Věrný člen
29. 1. 2007   #5
-
0
-

To Prog.: No mne sa zrovna vtedy nevstavalo tak dobre :) Tak preto tak strucne. Ale inak je to presne ako som chcel.
Len odporucam pouzivat miest &_REQUEST priamo get alebo post => mate vacsi prehlad o povode premennej

Nahlásit jako SPAM
IP: ...–
Lepšie je mať psa na saláme ako salámu pod psom !!!
Prog.0
Věrný člen
30. 1. 2007   #6
-
0
-

To dalaman: Jou, mne sa v poslednom case vstava velmi dobre ;-))) A mas pravdu, malo tam byt $_GET, som bol myslou este niekde pri tom vstavani ked som to pisal :D

Nahlásit jako SPAM
IP: ...–
Prog.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 37 hostů

Podobná vlákna

Stránkování — založil JMM

Strankovani — založil FrEnkLiN

Chyba v stránkování — založil martin

Chyba ve stránkování — založil Pepa

DATALIST STRANKOVANI — založil kironet

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý