AlphaSky: MySql: wie bekomme ich die audgabe so, wie ich sie will ?

Hi,

Ich muss sagen, dass ich in Sachen PHP ein blutiger Anfänger bin.
Ich sammle Lehrersprüche.

Die Tabelle 'spruch' ist wie folgt aufgebaut:

id  | lehrer | spruch

Ich will jetzt mit /spruch.php?lehrer=xyz Alle Sprüche dieses lehrers aufgelistet haben, und zwar sortiert nach id (größte id zu erst)

ich hab auch schon bei php.net gesucht, aber mit
$query = "SELECT * FROM spruch"; bekomme ich ALLE daten
und mit
$query = "SELECT spruch FROM spruch"; bekomme ich ALLE sprüche

ich bitte um nachsicht; ist heute mein erster Tag mit php....

cu, AlphaSky

  1. Hallo,

    Ich will jetzt mit /spruch.php?lehrer=xyz Alle Sprüche dieses lehrers aufgelistet haben, und zwar sortiert nach id (größte id zu erst)

    SELECT spruch FROM spruch WHERE (lehrer='xyz') ORDER BY id DESC

    Dein Problem betrifft übrigens SQL, die Datenbankabfragesprache, nicht PHP selbst.

    Gruss

    Marko

    1. Hallo

      Vielen Dank für die rasche Antwort!

      SELECT spruch FROM spruch WHERE (lehrer='xyz') ORDER BY id DESC

      Wie kann ich beim (lehrer='xyz')das xyz über die url bestimmen ?

      /spruch.php?name=yxz

      was muss dann im code stehen, damit er das übernimmt ?

      PS: Ich würde ja nur zu gerne im Archiv suchen, das Thema wurde bestimmt 1657 mal behandelt, aber ich weiß nicht, WIE man das schreibt/formuliert wonach ich suche

      cu, AlphaSky

      1. Also irgendwas mache ich falsch.
        Ich hab mir ein beispiel von php.net genommen und was dran rumgewerkelt. Und das hat auch gefunzt, aber jetzt halt nicht mehr :-(

        cu, AlphaSky

        /* Verbindung aufbauen, auswählen einer Datenbank */
            $link = mysql_connect("localhost", "ghugdcvt", "pass")
                or die("Keine Verbindung möglich!");
            print "Verbindung zum Datenbankserver erfolgreich";
            mysql_select_db("ggw-nuke") or die("Auswahl der Datenbank fehlgeschlagen");

        // ausführen einer SQL Anfrage
               $sqlstatement = "SELECT spruch FROM aspruch WHERE lehrer=".$GLOBALS['name']." ORDER BY id";
               $result = $sqlstatement or die("Anfrage fehlgeschlagen");

        // Ausgabe der Ergebnisse in HTML
               print "<table>\n";
               while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
                   print "\t<tr>\n";
                   foreach ($line as $col_value) {
                       print "\t\t<td>$col_value</td>\n";
                   }
                   print "\t</tr>\n";
               }
               print "</table>\n";

        // Freigeben des Resultsets
               mysql_free_result($result);

        // schliessen der Verbinung
               mysql_close($link) or die("Verbindung konnte nicht getrennt werden");
               print "Verbindung erfolgreich getrennt";
        ?>

        1. Hallo,

          Was Dir fehlt, ist ein vernuenftiges Error-Management. Zuerst musst Du sicherstellen, dass in deiner PHP-ini alle Error auf volle Lotte stehen. Dann bist Du gut beraten, wenn Du eine MySQL-GUI hast, zb. MySQL-Front >> http://efux.de/mysqlfront/MySQL-Front_2.5_Setup.exe.
          Und jetzt Schritt fuer Schritt die Ergebnisse ausgeben, am besten mit print_r($variable), weil das auch Arrays unterstuetzt. Wenn Du soweit gekommen bist, das die Query ausge-echot (was fuer ein Wort...) wird, packst du diese mit Copy und Paste nach Mysql-Front und schaust, was rauskommt. Wenn Du versuchst, alles auf einmal zu kapieren, keine Chance, besonders, wenn deine Scripte mal 10 Meter lang sind...
          Noch was, mach Kommentare ohne Ende und nenn Deine Variablen und Funktionen so, dass Du auch noch in 2 Jahren weisst, was gemeint ist. Und eine Kopie vom PHP-Manual auf dem heimischen PC ist auch kein Fehler. Das englische Manual (chm-Version) ist, denke ich am besten, weil es auch User-Kommentare enthaelt.

          Dieter

  2. Hallo AlphaSky,

    Es scheint, dein Problem hat weniger mit PHP als mit SQL zu tun. So ein Blick ins MySql Handbuch waer sicherlich nicht zu verachten ;-). Wenn Dein Englisch einigermassen gut ist, solltest Du mal bei http://www.w3schools.com/ vorbeischauen, da gibt's ganz gute Tutotials. In der aktuellen ct' gibt es auch einen recht netten Artikel ueber SQL.

    SELECT spruch FROM tabellenname WHERE lehrer='lehrername' ORDER BY id

    Dieter