Dieter Raber: Probleme mit MYSQL Befehl!!!

Beitrag lesen

Hallo,

Da Du offenbar noch ganz frisch bei PHP/MySQL bist, erstmal die Pflichtlektuere. Auf jeden Fall solltest Du je eine Kopie des PHP-Manuals und des MySQL-Manuals auf Deinem Rechner haben. Beides gibt's im Windows-Hilfeformat und als HTML bei http://www.php.net bzw. http://www.mysql.com. Das Windows-Hilfeformat ist ziemlich gut, wenn man denn Windows benutzt, da es durchsuchbar ist und eine vernuenftige Struktur hat.

$dbverbindung = mysql_connect ($host, $user, $password);

Es ist eine gute Idee, die Verbindung zur Datenbank und die Auswahl der Tabelle in eine eigene Datei zu schreiben und diese bei Bedarf mit include() einzubinden. Dann ist man schon mal eine Menge Routinen los, vor allem muss man nicht in jeder Datei Benutzer und Password angeben.

$dbanfrage = "CREATE table $tabelle (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, header TEXT, artikel TEXT, jahr YEAR, zeit TIME )";

Diese Konstruktion ist ein Query (Abfrage) der Datenbank, CREATE TABLE... ist SQL und nicht PHP. Ueblicherweise schreibt man die SQL-Teile der Uebersicht halber in Grossbuchstaben.

mysql_db_query ($dbname, $dbanfrage, $dbverbindung))

Hier wird die Query ausgefuehrt, schau dir im PHP-Manual mal die Befehle an, die mit mysql_ anfangen

$dbanfrage = "SELECT * from $tabelle";

Das ist die entscheidende Abfrage, wenn Du die mal direkt ins Deutsche uebersetzt, ist auch klar, was sie macht 'WAEHLE alles VON tabelle AUS'. Du willst jetzt aber erst nach Jahr, dann nach Zeit ordnen. Sollte also heissen 'WAEHLE alles VON tabelle AUS, ORDNE NACH jahr, DANN NACH zeit.

In SQL waere das "SELECT * FROM $tabelle ORDER BY jahr,zeit"
Voila, das ist die Abfrage die Du brauchst.

Also bitte mal in MySQL-Manual schauen unter ORDER BY und dabei nicht vergessen, mal einen Blick auf DESC und ASC zu werfen.

Du musst lernen zu unterscheiden, was in einem Script HTML, was PHP und was SQL ist. Wenn Du mal ein bisschen in den entsprechenden Handbuechern stoeberst, wird Dir das auch schnell klar werden.

Dieter