Pagination help please....looking to show 25 results per page...
<?php
$public=1;
require_once("config.php");
require_once($DOC_ROOT . "/lib/header.php");
// select weeks first, and make links
$query = "select week from playerstats group by week";
$result = mysql_query($query);
while($week = mysql_fetch_array($result)){
// build html for links
$links_html .= "<a href='weeklyleaders.php?week=" . $week["week"] . "'>" . $week["week"] . ""."</a> | ";
}
// print links here
print "<table align=\"center\">";
print "<tr>";
print "<td>Select a Week: </td>";
echo "<td align=\"center\">$links_html</td>";
echo "</tr> </table>";
// now select for this specific week
$week = $_GET["week"];
if(empty($week))
$week = 1;
print "<h2 align=\"center\">Week " . $week . ": Leaders</h2>";
print "<h2 align=\"center\">Running Backs</h2>";
$limit = 25;
$page = (int) $_GET; //
//set the default page as one
if ($page == null || $page < 1) {
$page = 1;
}
$page--;
$page*=$limit;
$query = "SELECT lname, fname, rush_att, rush_yd, rush_td, rec_att, rec_yd, rec_td, playerstats.player_id, players.nflteam_id, nflteam_abbv
FROM playerstats, players, nflteams
WHERE playerstats.player_id = players.player_id
AND nflteams.nflteam_id = players.nflteam_id
AND nflteam_abbv = nflteams.nflteam_abbv
AND week = '" . $week . "'
ORDER by rush_yd DESC
LIMIT ".$page.",".$limit."";
$result = mysql_query($query);
//checking output
$num_results = mysql_num_rows($result) or die(mysql_error());
if ($num_results == 0)
{
echo "No Results Found";
}
else
{
$s_1 = $page + 1;
$s_2 = ($s_1 + $$result_count) - 1;
echo "Showing ".$s_1."-".$s_2." of ".$num_results."<br />";
?>
<table align="center" width="85%">
<tr>
<th><b><u>Player</u></b></th>
<th><b><u>Team</b></u></th>
<th><b><u>Rush Att</b></u></th>
<th><b><u>Rush YD</b></u></th>
<th><b><u>Rush TD</b></u></th>
<th><b><u>Receptions</b></u></th>
<th><b><u>Rec YD</b></u></th>
<th><b><u>Rec TD</b></u></th>
</tr>
<?php
$results = 0;
while($row = MySQL_fetch_array($result)) {
$lname = $row['lname'];
$fname = $row['fname'];
$rush_yd = $row['rush_yd'];
$rush_att = $row['rush_att'];
$rush_td = $row['rush_td'];
$rec_att = $row['rec_att'];
$rec_yd = $row['rec_yd'];
$rec_td = $row['rec_td'];
$week = $row['week'];
$nflteam_id = $row['nflteam_id'];
$player_id = $row['player_id'];
$abbv = $row['nflteam_abbv'];
if($i++ % 2) {
$bgcolor = "silver";
} else {
$bgcolor = "white";
}
echo " <tr bgcolor=\"$bgcolor\"><td><a href='players.php?player_id=" . $player_id . "'> ".$fname."
".$lname."</td>";
echo "<td>".$abbv."</td>";
echo "<td align=\"center\">".$rush_att."</td>";
echo "<td align=\"center\">".$rush_yd."</td>";
echo "<td align=\"center\">".$rush_td."</td>";
echo "<td align=\"center\">".$rec_att."</td>";
echo "<td align=\"center\">".$rec_yd."</td>";
echo "<td align=\"center\">".$rec_td."</td>";
}
}
$cur_page = ceil($s_1 / 15);
if ($cur_page == 1) {
echo "<br />Pages: <strong>1</strong>";
} else {
echo "<br />Pages: <a href=\"weeklyleaders.php?results=1\">1</a>";
}
$page_count = ceil($num_results / 15) + 1;
$counter = 2;
while ($counter < $page_count) {
$sp = (15 * ($counter - 1));
if ($cur_page == $counter) {
echo " <strong>".$counter."</strong>";
} else {
echo " <a href=\"weeklyleaders.php?results=".$counter."\">".$counter."</a>";
}
$counter++;
}
?>
</table>
I think my problem is somewhere here:
$limit = 25;
$page = (int) $_GET; //
or here:
$results = 0;
while($row = MySQL_fetch_array($result)) {
or here:
$cur_page = ceil($s_1 / 15);
if ($cur_page == 1) {
echo "<br />Pages: <strong>1</strong>";
} else {
echo "<br />Pages: <a href=\"weeklyleaders.php?results=1\">1</a>";
}
$page_count = ceil($num_results / 15) + 1;
$counter = 2;
while ($counter < $page_count) {
$sp = (15 * ($counter - 1));
if ($cur_page == $counter) {
echo " <strong>".$counter."</strong>";
} else {
echo " <a href=\"weeklyleaders.php?results=".$counter."\">".$counter."</a>";
}
$counter++;
}
I'm currently getting these results:
Showing 1-0 of 25
Pages: 1 2
but there should be at least 70 results