vise vist antal poster pr side
Jeg er lidt af en nybegynder til PHP, men har fundet den her code et sted på nettet, der eftersigende skulle kunne vise et vist antal poster pr side. Den viser fint nok frem og tilbage i bunden, men problemet er det, at alle posterne bliver vist, ligemeget om man klikker frem eller tilbage.Link til min side, www.bjerrumsoft.1go.dk kig under linket Gæstebog.
Jeg giver 150 point for et rigtig svar, måske lidt meget, men jeg er kørt surt i det og vil meget gerne videre....
Herunder ses min kode.
=========================================================
<?
// Antal tags
//MySQL configuration end
//PAGER
function Pager($field_to_count, $table_to_use){
global $pr_side, $total, $pager;
$pr_side=10;
if (!isset($_GET['s'])) {
$_GET['s'] = 0; //Tjekker om $s - som står for start - er sat, hvis ikke sættes den
}
$totalrow = mysql_query("select count(".$field_to_count.") as total from ".$table_to_use."") or die (mysql_error());
$total = mysql_result($totalrow,0);
echo "<b> Antal tags: $total </b><br>";
echo "<b> Pr Side: $pr_side </b><br>";
$pager = $_GET['s'].",".$pr_side;
/**************************************/
/* definerer udskriv næste funktionen */
/**************************************/
function PrintPager(){
global $pr_side, $total;
/* Find ud af om derskal være et Forrige link */
if ($_GET['s'] >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side
$previous_s = $_GET['s']-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes
echo "<a href=\"".$_SERVER['PHP_SELF']."?display=gestebog&s=$previous_s\">Forrige</a> "; //Udskriver linket
}
/* Find ud af hvis/hvor mange sider der er rows til */
$page = 1; //Definerer hvor sidetal skal starte
for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere
if ($start != $_GET['s']) { //Tjekker om linket vil komme til at pege på den side man er på
echo "<a href=\"".$_SERVER['PHP_SELF']."?display=gestebog&s=$start\">$page</a> "; //...hvis ikke, udskrives link med værdien af $page
} else { //Ellers, dvs. hvis linket vil pege på den side man er på..
if($total >= $pr_side) { echo "[$page] "; }//...udskrives værdien af $page bare, altså ikke som link
}
$page++; //Lægger en til $page til næste gang løkken køres
}
/* Find ud af om der skal være et næste link */
if ($total > $_GET['s']+$pr_side) { //Tjekker om der er flere sider
$next_s = $_GET['s']+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes
echo "<a href=\"".$_SERVER['PHP_SELF']."?display=gestebog&s=$next_s\">Næste</a>"; //Udskriver linket "næste"
}
}//end funktion PrintPager()
}// end funktion Pager()
?>
<?
$db = mysql_connect("localhost","user","pass");
mysql_select_db("bjerrumsoft1go",$db);
if($skriv)
{
$besked = str_replace("\n","<BR>",$besked);
$dato_array = getdate();
$dato = $dato_array["mday"]."/". $dato_array["mon"]."-".$dato_array["year"];
mysql_query("INSERT INTO bog (navn,email,dato,besked)VALUES('$navn','$email','$dato','$besked')");
}
?>
<center>
<table width="490" border="0" cellspacing="0" cellpadding="0">
<tr><td colspan="3"><img src="../pics/gestebog.gif"></td></tr>
<?
$foresp=mysql_query("SELECT navn,email,dato,besked FROM bog ORDER BY nr DESC");
while($data=mysql_fetch_row($foresp))
{
echo "<tr><td width=120 height=16 background=pics/baggrund3.gif align=left>";
echo "<span class='overskrift'> Indlæg af:</span></td>";
echo "<td width=250 background=pics/baggrund3.gif align=center><a href=\"mailto:$data[1]\" class=\"menu2\">$data[0]</a></td>";
echo "<td width=120 background=pics/baggrund3.gif align=right><span class='overskrift'>Dato: $data[2] </span></td></tr>";
echo "<tr><td colspan=3 bgcolor=B0B0B0><span class=almtekst>$data[3]</span></td>";
echo "<tr><td colspan=3 height=12></td>";
echo "</tr>";
}
?>
<tr><td colspan=3 bgcolor=green><?php Pager("navn","bog");
PrintPager(); ?>
</td></tr>
</table>
</center>
=========================================================
