Den gang jeg var "n00b" og var vild når jeg bare fik antal post fra et db trykket ud. Der ville jeg gerne lave en gb med paging, og der kiggede jeg i webcafe.dk's tutorial til en gb hvordan man gjorde. Men jeg kunne ikke finde hoved og hale i det. Og var inde og kigge lige før da du lige fik mig til at tænke på det igen. Og efter deres kode kan jeg ikke finde rundt i den stadigvæk.
Så at det er nemt at kopiere til sit eget system er en lidt hurtig udtale da jeg ved mange af mine venner der koder lidt hjemmeside forsjov nogen gange heller ikke kan få noget ud af den tutorial omkring paging.
Christoffer Buchholz
cbuchholz at ofir dot dk
http://www.christofferb.dk
Altså deres gæstebog er simpelthen så godt kommenteret at man ikke kan meget andet end at finde rundt i den.
Well her er det der skal bruges:
$antal_ad_gangen = 10; //10 posts per side
if(is_array($HTTP_GET_VARS)) {
$start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
$start_nr = $_GET['start_nr'];
}
#
# Når folk kigger på gBogen første gang har de ikke noget $start_nr, så vi giver dem et nul,
# så de starter med det nyeste indlæg.
# Hvis en skuummel gæst selv prøver at sætte $start_nr kan den ende med at blive under nul,
# når man bruger navigationen. Hvis den er under nul laver vi den også om til nul, så
# mysql ikke begynder at brokke sig over ugyldigt input
#
if(!$start_nr || $start_nr < 0) {
$start_nr = 0;
}
$antal = FIND EN MÅDE AT TÆLLE ANTAL OP PÅ, f.eks. count($data);
if($antal > ($start_nr + $antal_ad_gangen)) {
$naeste_start_nr = $start_nr + $antal_ad_gangen;
$naeste_nav = "<a href=\\"$PHP_SELF?start_nr=$naeste_start_nr\\">Næste</a>";
} else {
$naeste_nav = "<span class=\\"doedt-link\\">Næste</span>";
}
#
# Skal der laves link til forrige indlæg?
#
if($start_nr > 0 && ($start_nr - $antal_ad_gangen) < $antal) {
$forrige_start_nr = $start_nr - $antal_ad_gangen;
$forrige_nav = "<a href=\\"$PHP_SELF?start_nr=$forrige_start_nr\\">Forrige</a>";
} else {
$forrige_nav = "<span class=\\"doedt-link\\">Forrige</span>";
}
#
# Her sætter vi det hele sammen i en tabel vi kan bruge til at sætte ind på siden.
#
$nav = "<table width=\\"$tabel_bredde\\" border=\\"0\\" cellpadding=\\"5\\" cellspacing=\\"0\\">
<tr><td align=\\"left\\" width=\\"33%\\">$forrige_nav</td>
<td align=\\"center\\" width=\\"34%\\"><a href=\\"skriv.php\\">Skriv</a></td>
<td align=\\"right\\" align=\\"33%\\">$naeste_nav</td></tr>
</table>";
#
# Og skriver tabellen ud med det samme:
#
echo "$nav <p />";
Så har du din navigation i $nav;
Eneste der skal ændres her er lidt links og måden at tælle antal totale posts op på.
EDIT: faktisk skal linket heller ikke ændres da de også har tænkt på det!
Mvh
Kaare
[Redigeret d. 23/10-05 15:49:27 af Kaare Skovgaard]