Následují script sem vyhrabal někde na netu a vůbec nevim jak ho použít. Takže "soubor" mam nahradit něčím jiným to vim, skoušel sem "data.dat" ale to nefungovalo. NEvíte jak na to?, že by v nějakém souboru byly články, které by se po 15 vypisovali na stránku..
$prispevek = File("soubor");
if (!IsSet($idprispevek)) { $idprispevek=1; }
$pocatek = $idprispevek*15-15; // zobrazujem po 15
$konec = $idprispevek*15-1;
for ($i=$pocatek;$i<=$konec;$i++) {
echo $prispevek[$i];
}
// vypis 1,2,3,..
$strana = Ceil(Count($prispevek)/15);
for ($x=1;$x<=$strana;$x++) {
echo "<A href=\"?idprispevek=$x\">$x</A> |";
}
co to znamena "nefungovalo"?
No, řekl bych, že by jsi měl nastudovat něco málo z PHP, nebo se naučit svěřovat se svými problémy strýčku Gůglovi.
Ono je totiž principiálně jedno, jestli "stránkuješ" s databází, nebo bez ní. Pokud si zvládněš dobře připravit data, tak je to potom otázka několika triviálních podmínek a ty tady snad nemusím vypisovat, že?!
Strejda Gůgl mi řek jak na to, ale všechno se vypisovalo z databáze. A PHP vůbec neumim, ale chystam se naučit.
nefungovalo zanmená, že to hodilo error a konec. napsal sem místo soubor data.dat, vytvořil soubor "data.dat" tam ssem něco napsal, uložil a skusil
>> nefungovalo zanmená, že to hodilo error a konec
no tak to vim stejne jako predtim: nic. takhle se daleko nedostanem
Tak, chtěl by sem mít třeba složku data a v ní soubory (očíslované) a na stráce by to vždy vypsalo jen určíty počet těchto stránkek a dole by bylo stránkování 1!2!3 atd. :-)
nesro: jak jsem již psal: záleží na tom, jak si připravíš data a souvislost s DB to absolutně žádnou nemá. Stránkování je otázka několika podmínek.
Mrkni na http://php.vrana.cz/strankovani.php a části kódu pracující s databází nahraď tak, aby ti to vyhovovalo. Nic víc v tom není ... tedy pokud zde po nás nechceš již hotový kód. To sem potom připiš fakturační údaje :)
a za dobrý pocit? už sem si sehnal knížu o PHP, tak se to snad naučim :p
z dobrýho pocitu se nenajíš ;) ale princip stránkování je zhruba tento:
1) vypočítat počet stránek: ceil($pole, $na_strance);
2) podle aktuální stránky vypsat stránky: for($i=1;$i<=$pocet_stranek$i++) {
if($i == $aktualni_stranka) echo $i; else echo <a href="?param='.$i.'">'.$i.'</a>
}
3) vypsat potřebná data: for($i=1;$i<=$na_strance;$i++) echo $pole[($aktualni_stranka*$na_strace+$i)];
Pro svou potřebu si to musíš upravit, protože netuším, co používáš za proměnné.
Btw, na PHP knížka není potřeba na netu je kupa seriálů o PHP a mnohdy jsou lepší než kniha samotná... :)
knížek je taky hodně, IMHO si myslim že z knížky se to musí opsat a tím se to člověk taky trošku učí, kdežto z netu se to zkopčí a nic se nepíše, ale asi máš pravdu ;+)
mno, ja pouzivam toto, ale hodlam to predelat...
function PPnav1($where,$Xfrom,$Xcount,$Xfound,$add)
{if ($Xfound>0) {
// global $Slink;
// |< << < 4/20 > >> >|
// a b c x y d e f
$d = array();
$title = array();
$hide = array();
$zn = array("","|<","<<","<",">",">>",">|");
$x = floor($Xfrom / $Xcount);
$y = ceil($Xfound / $Xcount); //ne++
$a=1; $d[$a] = 1; $hide[$a] = $y<=1 ? 1 : 0; //ne++
$a=6; $d[$a] = $y; $hide[$a] = $y<=1 ? 1 : 0; //ne++
$n = ceil($y/10)<<1;
$a=3; $d[$a] = $x-1; $hide[$a] = $d[$a]< $d[1]-1 ? 1 : 0;
$a=2; $d[$a] = $d[3]-$n;$hide[$a] = $d[$a]< $d[1]-1 ? 1 : 0;
$a=4; $d[$a] = $x+1; $hide[$a] = $d[$a]>=$d[6]-1 ? 1 : 0;
$a=5; $d[$a] = $d[4]+$n;$hide[$a] = $d[$a]>=$d[6]-1 ? 1 : 0;
$a=1; $d[$a]--;
$a=6; $d[$a]--;
ksort($hide);
//ksort($d);print_r($d);
//$t2=$add.($add!==""?"&":"").'count='.$Xcount.'&from=';
$t ="\n<p align=\"center\" class=\"arrownav\">";
$a=0;
foreach($hide as $key => $value)
{
$a+=$value;
$z = HTMLSpecialChars($zn[$key]);
$t2= array();
if ($add!=="") {$t2[]=$add;}
$t2[]="count=".$Xcount;
$t2[]="from=".(($d[$key]*$Xcount)+1);
if ($value===1) {$t.="\n<span>$z</span>";}
else {$t.="\n".html_link($where,$t2,$z,$d[$key]+1);}
if ($key==3) {$t.="\n".($x+1)." / $y";}
}
$t.="\n</p>";
if ($a==6) {$t="";}
return $t;
}}
$where - kam odkaz
$Xfrom - stranka OD
$Xcount - pocet zobrazenych zaznamu
$Xfound - pocet zaznamu z SQL
$add - pridani za odkaz (treba serazovani)
http://www.volny.cz/peter.mlich/www.htm#msub13
mracek CMS
dík, vysvětlíš mi, jak to funguje?
Mno, je to trochu drasticke, v soucasne dobe mam v planu jine strankovani...
$where - kam odkaz
$Xfrom - stranka OD
$Xcount - pocet zobrazenych zaznamu
$Xfound - pocet zaznamu z SQL
$add - pridani za odkaz (treba serazovani)
generuje to sadu odkazu se sipkami, podle vstupnich hodnot
|< << < 4/20 > >> >|
kdyz nelze nekam jit, sipka se nezobrazi, nebo muzes nastavit, ze je seda a neklikatelna.
Vstupni data ziskas pomoci SELECT COUNT a SELECT LIMIT $a,$b;