Hallo Tutorialjaner ,
ich frage mich gerade welchen Stil ich in meiner mySQL abfrage verwenden soll, die einen recht großen Umfang besitzt.
Zum einen besteht die Möglichkeit für jede einzelne tabelle, auf die ich zugreife, eine abfrage zu setzen:
Oder man kann ja auch alles zusammenfassen:
Ich geh mal davon aus, auch wenn meine Erfahrung noch nicht allzuhoch ist...das der obere fall eine recht hohe Performance benötigt im vergleich zur unteren Abfrage. Dabei ist jedoch die lesbarkeit und wartbarkeit sehr eingeschränkt...
Was würdet ihr in meinem Fall tuen? Oder gibt es da noch einen viel eleganteren Fall?
Danke für eure Hilfe..
lg X-Color
ich frage mich gerade welchen Stil ich in meiner mySQL abfrage verwenden soll, die einen recht großen Umfang besitzt.
Zum einen besteht die Möglichkeit für jede einzelne tabelle, auf die ich zugreife, eine abfrage zu setzen:
Code:
$querySelectAbreise = 'SELECT * FROM abreise WHERE id = '.$datensatzBuchung[abreise_id];
$resultSelectAbreise = mysql_query($querySelectAbreise);
$datensatzAbreise = mysql_fetch_array($resultSelectAbreise, MYSQL_ASSOC);
$querySelectReise = 'SELECT * FROM reise WHERE id = '.$datensatzAbreise[reise_id];
$resultSelectReise = mysql_query($querySelectReise);
$datensatzReise = mysql_fetch_array($resultSelectReise, MYSQL_ASSOC);
$querySelectAbflug = 'SELECT * FROM abflughafen WHERE id = '.$datensatzAbreise[abflughafen_id];
$resultSelectAbflug = mysql_query($querySelectAbflug);
$datensatzAbflug = mysql_fetch_array($resultSelectAbflug, MYSQL_ASSOC);
Oder man kann ja auch alles zusammenfassen:
Code:
$querySelect = 'SELECT buchung.id AS buchung_id, buchung.abreise_id, buchung.kunde_id, ';
$querySelect .= 'buchung.datum AS buchung_datum, buchung.teilnehmer AS buchung_teilnehmer, buchung.preis AS buchung_preis, zahlung, ';
$querySelect .= 'abreise.reise_id, abreise.datum AS abreise_datum, abreise.abflughafen_id, ';
$querySelect .= 'abflughafen.plz AS abflughafen_plz, abflughafen.ort AS abglufhafen_ort, abflughafen.name AS abflughafen_name, ';
$querySelect .= 'reise.reiseziel_id, reise.preis AS reise_preis, reise.teilnehmer AS reise_teilnehmer, ';
$querySelect .= 'reiseziel.land, reiseziel.ort AS reiseziel_ort, ';
$querySelect .= 'kunde.vorname, kunde.nachname, kunde.strasse, kunde.plz AS kunde_plz, kunde.ort AS kunde_ort, kunde.geburtstag, kunde.telefon, kunde.email ';
$querySelect .= 'FROM buchung, abreise, reise, reiseziel, kunde WHERE buchung_id = '.$_GET['buchung_id'].' AND abreise_id = abreise.id ';
$querySelect .= 'AND reise_id = reise.id AND reise.reiseziel_id = reiseziel.id AND buchung.kunde_id = kunde.id';
Ich geh mal davon aus, auch wenn meine Erfahrung noch nicht allzuhoch ist...das der obere fall eine recht hohe Performance benötigt im vergleich zur unteren Abfrage. Dabei ist jedoch die lesbarkeit und wartbarkeit sehr eingeschränkt...
Was würdet ihr in meinem Fall tuen? Oder gibt es da noch einen viel eleganteren Fall?
Danke für eure Hilfe..
lg X-Color