Hi,
habe kleiner Probleme mit untenstehendem Code! Weiss nicht welchen teil ich vom Code kürzen kann/darf um das "Problem" nicht zu löschen...
Erstes Problem betrifft die Blätterfunktion: Sie funktioniert soweit einwandfrei. Wird die Seite geladen, und klickt man auf die letzte existierende Seite so werden dort keine Daten ausgegeben! Klickt man danach auf irgendeine andere Seite und danach auf die letzte werden dort die Daten ausgegeben.
Zweites Problem: Ich möchte in dem Script eine Suchfunktion integrieren. Der SQL Befehl sieht so aus:
Funktioniert auch einwandfrei - nur wie kann ich diese Abfrage in das bestehende einbauen?
Drittes Problem: Die Sortierung - erfolgt nach ausgewähltem kriterium, welches man auswählen/anklicken kann - z.B. Genre - als zweites Kriterium soll dann immer film_name benutzt werden - macht er aber nicht :-(
habe kleiner Probleme mit untenstehendem Code! Weiss nicht welchen teil ich vom Code kürzen kann/darf um das "Problem" nicht zu löschen...
Erstes Problem betrifft die Blätterfunktion: Sie funktioniert soweit einwandfrei. Wird die Seite geladen, und klickt man auf die letzte existierende Seite so werden dort keine Daten ausgegeben! Klickt man danach auf irgendeine andere Seite und danach auf die letzte werden dort die Daten ausgegeben.
Zweites Problem: Ich möchte in dem Script eine Suchfunktion integrieren. Der SQL Befehl sieht so aus:
PHP-Code:
$query= "SELECT * FROM film WHERE film_name LIKE '%".$suchstr."%' ORDER BY film_name";
Drittes Problem: Die Sortierung - erfolgt nach ausgewähltem kriterium, welches man auswählen/anklicken kann - z.B. Genre - als zweites Kriterium soll dann immer film_name benutzt werden - macht er aber nicht :-(
PHP-Code:
<?php
include ("config.php");
echo "<table width='750' border='1' cellspacing=0 cellpadding=3 class=m>";
echo "<tr>";
echo "<td><a href='f.php?sort=film_name'>Film</a></td>";
echo "<td>CDs</td>";
echo "<td><a href='f.php?sort=laenge'>Länge</a></td>";
echo "<td><a href='f.php?sort=jahr'>Jahr</td>";
echo "<td><a href='f.php?sort=format'>Format</td>";
echo "<td><a href='f.php?sort=sprache'>Sprache</td>";
echo "<td><a href='f.php?sort=genre'>Genre</td>";
echo "<td><a href='f.php?sort=date'>Added</td></tr>";
$orderby = !$_GET[sort]?"film_name":$_GET[sort];
$orderby.=($orderby=='date')?' DESC':' ASC';
$by = !$_GET[sort]?"film_name":$_GET[sort];
$query= "SELECT * FROM film";
$result = mysql_query($query);
$nr = mysql_num_rows($result); #Gesamtanzahl $result muss ohne LIMIT ermittelt werden.
$showmax = 20;
if(!isset($start)) $start = 0;
$start = intval($start);
$shownsteps = 3; #Anzahl der Seitenzahlen links und rechts von der aktuellen Seitenzahl.
$shows = $start+1;
$showe = $start+$showmax;
if($showe > $nr) $showe = $nr;
$q = "SELECT *,date_format(date,'%d.%m.%Y') as datum FROM film ORDER BY
$orderby, film_name ASC LIMIT $start,$showmax";
$r = mysql_query($q, $verbind);
while($daten = mysql_fetch_assoc($r))
{
print "<tr><td class=\"film\" onMouseOver=\"this.style.backgroundColor='#536a88';
this.style.cursor='hand';\"
onMouseOut=\"this.style.backgroundColor='#022744';\" onClick=\"javascript:
winMove(".$daten[id].")\">
<a href=\"javascript:winMove(".$daten[id].")\">$daten[film_name]</a></td>";
print "<td class=\"film_c\">$daten[cds]</td>
<td class=\"film_c\">$daten[laenge] min</td>
<td class=\"film_c\">$daten[jahr]</td>
<td class=\"film_c\">$daten[format]</td>";
if ($daten[sprache] =="de" || $daten[sprache] =="en" )
{
print "<td class=\"film_c\"><img src=\"pics/$daten[sprache].gif\" border=0></td>";
}
else
{
print "<td>$daten[sprache]</td>";
}
print "<td class=\"film\">$daten[genre]</td>";
print "<td class=\"film\">$daten[datum]</td>
</td></tr>";
}
print "</table><br>";
if($nr > $showmax)
{
if($start != 0) print "<a href=\"f.php?sort=$by&start=".($start-$showmax)."\">
<< vorherige</a> ";
$begin = $start-($shownsteps*$showmax);
$end = $start+(($shownsteps+1)*$showmax);
$now = $begin;
$i = ($begin/$showmax)+1;
if($now-$showmax >= 0) print "<a href=\"f.php?sort=$by&start=0\">1</a>
<span class=\"m\">...</span> ";
while($now < $end)
{
if(($now >= 0) && ($now <= $nr))
{
if($now == $start) print "<span class=\"m\">$i</span> ";
else print "<a href=\"f.php?sort=$by&start=$now\">$i</a> ";
}
$now += $showmax;
$i++;
}
$temp = bcdiv($nr,$showmax,0)+1;
if($now+$showmax <= $nr) print "<span class=\"m\">...</span>
<a href=\"f.php?sort=$oby&start=".($temp*$showmax)."\">$temp</a> ";
$t = $start+$showmax;
if($t < $nr) print " <a href=\"f.php?sort=$by&start=$t\">nächste >></a>";
}
else print " ";
?>
<form method="get" action="search.php">
<table border="0" cellspacing="5" cellpadding="0" align="center">
<tr>
<td><div align="center">
<input type="text" name="suchstr" class="sform">
</div></td>
<td>
<input type="submit" value="Suchen" name="submit22" class="sbutton">
</td></tr>
</table>
</form>
EDIT:
hab mal ein paar zusätzliche zeilenumbrüche reingemacht, meterweises querscrolling saugt. wahsaga
Kommentar