shadowbikes
Gebruiker
- Lid geworden
- 1 nov 2006
- Berichten
- 466
hallo wie kan deze beginnende php'er helpen.
Het volgende probleem: Als de pagina geladen wordt, sorteert ie automatisch op nummer en begint bij pagina 1. Als ik nu sorteer op jaar ( en dat gaat ook nog goed) en wil naar pagina 2 vervalt de sortering op jaar en begint dus weer te sorteren op nummer. Hoe kan ik dit oplossen.
Zie script
Het volgende probleem: Als de pagina geladen wordt, sorteert ie automatisch op nummer en begint bij pagina 1. Als ik nu sorteer op jaar ( en dat gaat ook nog goed) en wil naar pagina 2 vervalt de sortering op jaar en begint dus weer te sorteren op nummer. Hoe kan ik dit oplossen.
Zie script
PHP:
<?PHP
include("english.php");
mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("movie") or die(mysql_error());
if(isset($_GET['sortby']))
{
switch($_GET['sortby'])
{
case 'NUM': $sorteer = 'num'; break;
case 'ORIGINALTITLE': $sorteer = 'originaltitle'; break;
case 'COUNTRY': $sorteer = 'country'; break;
case 'CATEGORY': $sorteer = 'category';break;
case 'YEAR': $sorteer = 'year'; break;
default: $sorteer = $genre; break;
}
}
else
{
$sorteer = 'num';
}
$query = "SELECT * FROM movies";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
// max resulaten op 1 pagina
$max_on_page = 30;
// laat hoeveel pagina nummers ervoor en erachter zien
$viewpage = 1;
$num_pages = ceil($num_rows / $max_on_page);
$page = $_GET['page'];
//als de pagina niet is opgegeven page wordt 1, verander pagina.php
if (!isset($_GET["page"])) {
$page = 1;
header("location: test.php?page=".$page."&sortby=".$sorteer."");
}
// we willen geen negative pagina's
$begin = $page - $viewpage;
if ($begin < 1) {
$begin = 1;
}
// ook niet teveel
$end = $page + $viewpage;
if ($end > $num_pages) {
$end = $num_pages;
}
$vorige = $page - 1;
$volgende = $page + 1;
// pas de resultaten aan de pagina aan
$start = $max_on_page * $page - $max_on_page;
$res = mysql_query("SELECT * FROM movies ORDER BY ".$sorteer." ASC LIMIT ".$start.", ".$max_on_page."");
print "<center><table border='0' cellspacing='0' bordercolordark='black' bordercolorlight='blue' bgcolor='#BBBBBB' width='730' style=' font-family:Arial; font-weight:bold; font-size:11px; border-width:1; border-style:groove;'>\n";
Print "<tr>";
Print "<td width='50'><div class=head><a href=test.php?page=".$page."&sortby=NUM> ".$lang[0].":</a></div></td>\n";
Print "<td width='350'><div class=head><a href=test.php?page=".$page."&sortby=ORIGINALTITLE> ".$lang[8].":</a></div></td>\n";
Print "<td width='150'><div class=head><a href=test.php?page=".$page."&sortby=COUNTRY> ".$lang[13].":</a></div></td>\n";
Print "<td width='100'><div class=head><a href=test.php?page=".$page."&sortby=CATEGORY> ".$lang[14].":</a></div></td>\n";
Print "<td width='100'><div class=head><a href=test.php?page=".$page."&sortby=YEAR> ".$lang[15].":</a></td></div></tr>\n";
while($info = mysql_fetch_assoc($res)) {
if($info['COUNTRY'] == "") { $info['COUNTRY'] = "N/A"; }
Print "<tr>\n";
Print "<td><div class=text>".$info['NUM'] . "</div></td>\n";
Print "<td><div class=text><a href=index.php?id=".$info['NUM'].">".$info['ORIGINALTITLE'] . "</a></div></td>\n";
Print "<td><div class=text>".$info['COUNTRY'] . "</div></td>\n";
Print "<td><div class=text>".$info['CATEGORY'] . "</div></td>\n";
Print "<td><div class=text>".$info['YEAR'] . "</div></td></tr>\n";
}
Print "</table>\n";
### vanaf hier wordt de navigatie weergegeven ###
Print " Pagina ".$page." van de ".$num_pages."";
if ($begin > 1) {
echo '<a href="?page=1&sortby='.$sorteer.'" title="Eerste pagina">eerste</a> <a href="?page='.$vorige.'&sortby='.$sorteer.'" title="Vorige Pagina"><</a> ';
}
for ($i = $begin; $i <= $end; $i++) {
if ($i == $page) {
echo '<b>['.$page.'] </b>';
}
else {
echo '<a href="?page='.$i.'&sortby='.$sorteer.'">'.$i.' </a> ';
}
}
if ($end < $num_pages) {
echo '<a href="?page='.$volgende.'&sortby='.$sorteer.'" title="Volgende Pagina">></a> <a href="?page='.$num_pages.'&sortby='.$sorteer.'" title="Laatste Pagina">laatste</a>';
}
?>