doofe frage zu php und mysql

BIAsTeR

Mitglied
Moin,

Ich hab schon n Stück hier in den Foren und Tutorials gestöbert, finde aber leider keine für mich verständliche Antwort auf mein Problem.

Ich habe heute die wunderbare Aufgabe bekommen per PHP 20 Datenbankabfragen an eine lokale MySQL-Datenbank zu machen und auszugeben.

Mein Problem ist, das ich zwar auf die Datenbank zugreifen kann (über phpMyAdmin) und auch Daten in der DB habe, aber mir fehlt der Zwischenschritt wie ich aus meiner PHP-Datei die Daten aus der DB angezeigt bekommen.

Verbinden tu ich mich über die mysql_connect-Funktion und das funktioniert.
Aber was muss ich der PHP-Datei an Befehlen mitgeben, so daß zum Beispiel beim Klick auf einen Link alle Hotelnamen in der Tabelle Hotels ausgegeben werden?
Gibt es da allgemeingültige Formulierungen wo ich dann nur die SQL-Abfragen auswechseln kann? Oder muss ich da jedesmal individuell was zurechtbasteln?


mfg
ben

EDIT: hab jetzt einen Weg gefunden. Thema kann gelöscht werden.
 
Zuletzt bearbeitet:
also dass hier nix im forum steht glaube ich nicht.. aber wenn man es nicht kennt, dann ist es schwierig zu finden ;)
also nix fuer ungut...
hier ein beispiel wie du solch eine Anfrage realisieren kannst, hier als abfrage in einer Kunden liste, kannst du aber auch beliebig fuer alles andere nehmen

PHP:
$link = mysql_pconnect("localhost", "BENUTZERNAME", "PASSWORT"); 

   $query = "use DATENBANK";

   if ( !mysql_query($query, $link) )
     die("Die Datenbank kann nicht gefunden werden"); 

   $query = "SELECT * FROM kunden";
   $res = mysql_query($query, $link);
   if ( !$res )
     die("Die Anfrage '$query' konnte nicht ausgeführt werden.");

// Daten auslesen
   echo "<table border='1'>";
   while ( $data = mysql_fetch_array($res) ) { 
     echo "<tr><td>".$data[kdid]."</td><td>".$data[org]."</td><td>".$data[name]."</td><td>".$data[strhn]."</td><td>".$data[plz]."</td><td>".$data[ort]."</td><td>".$data[tel]."</td><td>".$data[fax]."</td><td>".$data[mail]."</td></tr>";
   }  

   echo "</table>";
der Code hier ist also
Code:
SELECT * FROM kunden
d.h. es wird alles aus der Tabelle kunden ausgelesen.
Code:
while ( $data = mysql_fetch_array($res) ) { 
echo $data['kdid'];
}
das gibt in diesem Fall die daten im Feld 'kdid' aus... dem entsprechend kannst du auch die anderen Spalten auslesen

wenn du aber wirklich nur eine Spalte benötigst, dann kann die Abfrage so aussehn
Code:
SELECT kdid FROM kunden
hier wuerde jetzt wirklich nur die Spalte kdid ausgelesen werden und nicht alle spalten
das ganze kannst du dann natuerlich noch einschraenken.
bspw:
Code:
SELECT kdid FROM kunden WHERE bla='1'
hier wird jetzt nur kdid ausgelesen.. aber nur die Zeilen in denen die Spalte bla = 1 ist

ich hoffe ich konnte dir damit weiterhelfen ...

LG

LOK
 
da hast du doch wirklich die loesung gefunden, waerend ich hier am tippen war ^^
hmm naja, kann man nix machen
 
Die direkte Ausgabe per Echo hat zumindest vordergründig einige Vorteile (z.B. wird der Speicher wenig belastet), allerdings werden in vielen Systemen die Daten in einer Variablen gesammelt, evtl. noch geparst oder validiert und am Ende evtl. noch in ein Template integriert.
Das Parsen und Validieren kann man auch einzeln machen (eventuell sollen ja bestimmte Daten nicht oder besonders angezeigt werden) und bei sehr umfangreichen Ausgaben kann meine genannte Lösung auch Nachteile haben (Timeout muss hochgesetzt werden, Speicher in der php.ini erhöht werden).
Ich wollte jedoch darauf aufmerksam machen.

Gruß
Dave
 
Zurück