Tutorial Tabellen sortieren mit PHP
Hallo,
bin gerade auf das Tutorial "Tabellen sortieren mit PHP" gestossen und da ich mir gerade ein kleine filmliste auf php und mysql basis basteln will erschien mir das ganze ideal.
Nach enmtsprechenden anpassungen an meine datenbank zeigt es mir die tabelle wunderbar an, sortieren allerdings funktioniert überhaupt nicht!
Falls ich auf eine Tabelle klicke kommt folgendes:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/intranet/www2/filmliste.php on line 33
Warning: key() [function.key]: Passed variable is not an array or object in /opt/lampp/htdocs/intranet/www2/filmliste.php on line 37
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/intranet/www2/filmliste.php on line 49
Warning: implode() [function.implode]: Bad arguments. in /opt/lampp/htdocs/intranet/www2/filmliste.php on line 46
Mit meinen eigentlich nicht vorhandenen PHP Kenntnissen sagt mir das ganze wenig!
Das ganze läuft aus Suse 10 mit xampp und php5.0.5!
Hier meine php datei:
Wär echt klasse wenn mir jemand helfen könnte!
Danke auf jeden fall im vorraus!
MfG Tobi
bin gerade auf das Tutorial "Tabellen sortieren mit PHP" gestossen und da ich mir gerade ein kleine filmliste auf php und mysql basis basteln will erschien mir das ganze ideal.
Nach enmtsprechenden anpassungen an meine datenbank zeigt es mir die tabelle wunderbar an, sortieren allerdings funktioniert überhaupt nicht!
Falls ich auf eine Tabelle klicke kommt folgendes:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/intranet/www2/filmliste.php on line 33
Warning: key() [function.key]: Passed variable is not an array or object in /opt/lampp/htdocs/intranet/www2/filmliste.php on line 37
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/intranet/www2/filmliste.php on line 49
Warning: implode() [function.implode]: Bad arguments. in /opt/lampp/htdocs/intranet/www2/filmliste.php on line 46
Mit meinen eigentlich nicht vorhandenen PHP Kenntnissen sagt mir das ganze wenig!
Das ganze läuft aus Suse 10 mit xampp und php5.0.5!
Hier meine php datei:
<?
function direction($dir){
if($dir=="asc"){
return "desc";
}else{
return "asc";
}
}
$conn=mysql_connect("localhost","root","root");
$db=mysql_select_db("film");
if($sort){
$dir=direction($dir);
$query="select nr, titel, medienanzahl, bildformat, bildquelle, audio, sprache order by $sort $dir";
}else{
//$query="select nr, titel, medienanzahl, bildformat, bildquelle, audio, sprache from filmliste";
$query="select nr, titel, medienanzahl, bildformat, bildquelle, audio, sprache from filmliste order by nr";
//z.B. als Standardsortierung
}
$result=mysql_query($query, $conn);
?>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?
$row=mysql_fetch_array($result, MYSQL_ASSOC);
echo "<table border=\"2\">";
//Begin des Tabellenkopfes
echo "<tr>";
while($field=key($row)){
echo "<th><a href=\" filmliste.php?sort=$field&dir=$dir\">$field</a></th>";
next($row);
}
echo "</tr>";
//Ende Tabellenkopf
//Da durch die Anweisung $row=mysql_fetch_array($result, MYSQL_ASSOC)); bereits der
//erste Datensatz "geholt" wurde, muß er separat ausgegeben werden
echo "<td>";
echo implode("<td>", $row);
echo "</td>";
//Dann erfolgen die restlichen Datensätze mit der while-Schleife
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
echo "<tr><td>";
echo implode("<td>", $row);
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
Danke auf jeden fall im vorraus!
MfG Tobi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 37358
Url: https://administrator.de/contentid/37358
Ausgedruckt am: 23.11.2024 um 09:11 Uhr
2 Kommentare
Neuester Kommentar
Moin Tobi,
Unabhängig von den Spezifika spezieller Programmiersprachen, Compiler oder Linkern gilt als allgemeine Regel immer:
Lies die erste der ausgegebenen Fehlermeldungen, alles andere sind nur Folgefehler.
Wenn Du so an die Sache herangegangen wärest, hättest Du vermutlich bei dieser Meldung
..kurz das erste Statement angesehen: ...
festgestellt, dass dort überhaupt kein " FROM Tabelle" angegeben ist.
( ob das Sortierfeld "$sort" und ASC/DESC als "$dir" definiert ist, weiß ich nicht. Wäre die nächste Frage.)
Gruß
Biber,
der nicht für 2 Cent PHP kann...
Unabhängig von den Spezifika spezieller Programmiersprachen, Compiler oder Linkern gilt als allgemeine Regel immer:
Lies die erste der ausgegebenen Fehlermeldungen, alles andere sind nur Folgefehler.
Wenn Du so an die Sache herangegangen wärest, hättest Du vermutlich bei dieser Meldung
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
..kurz das erste Statement angesehen: ...
$query="select nr, titel, medienanzahl, bildformat, bildquelle, audio, sprache order by $sort $dir";
festgestellt, dass dort überhaupt kein " FROM Tabelle" angegeben ist.
( ob das Sortierfeld "$sort" und ASC/DESC als "$dir" definiert ist, weiß ich nicht. Wäre die nächste Frage.)
Gruß
Biber,
der nicht für 2 Cent PHP kann...