Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Verstehe Verknüpfung einfach nicht! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Verstehe Verknüpfung einfach nicht!


 
saschak
05-07-2002, 10:11 
 
Hallo Leute...

Hätte da mal wieder ein kleines Problem:

Ich kenne mich mit Datenbankverknüpfungen überhaupt nicht aus und verstehe auch die
schon vorhandenen Threads dazu nicht - könnte mir bitte jemand bei folgendem Problem
behilflich sein?

Ich habe Tabellen

-------------------------------------
"Saisons"

SaisonID SaisonA_Start SaisonA_Ende SaisonB_Start SaisonB_Ende HotelID

"Zimmer"

ZimmerID Bezeichnung SaisonID

"Hotels"

HotelID Hotelname Ort Strasse Sterne blablablabla....

"Preise"

ZimmerID SaisonID HotelID Preis
---------------------------------------------------


Jetzt zum Problem: Jedes Hotel hat verschiedene Saison - d.h. nicht alle Saisons sind gleich
bei den Hotels (Hotels sind nicht in Deutschland - deswegen...)...

Alle vier Tabellen sollen miteinander verknüpft werden und zwar so, dass wenn ich ein Hotelname
aus einem Pulldown Menü oder Liste (egal) anklicke, über diese HotelID

ALLE Saisons, Zimmer und Preise angezeigt werden?!??

Kann mir jemand helfen???

Meine Fragen:

* Wie sieht mein MySQL Query aus?
* Wie funktioniert die Ausgabe der Daten?

Normalerweise erstelle ich eine Datenbankausgabe in dieser Art:
$query = mysql_query("SELECT * FROM tabelle WHERE feld = '$feld' ORDER BY feld");
$zeile = mysql_num_rows($query);
$feld1 = trim($zeile["feld1"]);

- wie spreche ich bei meiner Abfrage die Felder an??

Hoffe, das war nicht zu viel auf einmal - wollte nur etwas ausführlicher sein *grins*...

IST ECHT SUPER DRINGEND!

Mfg
saschak

 
Titus
05-07-2002, 14:28 
 
mysql_query ("select h.*, s.*, z.Bezeichnung from Hotels h where h.HotelID=$id
left join Saisons s on s.HotelID=h.HotelID
left join Preise p on p.HotelID=h.HotelID and s.SaisonID=p.SaisonID
left join Zimmer z on z.ZimmerID=p.ZimmerID
order by SaisonA_Start, SaisonB_Start ");

Ich hoffe, ich hab jetzt die Keys richtig verstanden.
Seltsam finde ich es allerdings, dass in "Preise" kein Preis zu finden ist.

 
saschak
05-07-2002, 14:58 
 
Dank Dir vielmals... Werde es dann gleich ausprobieren....
Melde mich dann nochmal...

Die Preise habe ich übrigens vergessen - die gehören auch noch rein!!!

mfg
saschak

 
saschak
05-07-2002, 17:11 
 
WIE BEKOMME ICH DIE AUSGABE HIN???

Das ist eigentlich mein Hauptproblem - wie spreche ich die Felder aus den anderen Tabellen bei der Ausgabe an???

Mfg
Sascha

 
Berni
05-07-2002, 17:30 
 
$Books = mysql_query("select book_Searchtitel from books where book_Typ ='script'")
or die ("Datenbankfehler! ");

while ($row= mysql_fetch_array($result))
{
echo $Books[book_Searchtitel];
}



Wichitg für dich ist die zeile mit echo $Books[book_Searchtitel];

 
Toxical
05-07-2002, 18:18 
 
öhm..kurze Frage ich auch:)
was heisst denn dieses
LEFT JOIN ON

das hab ich jetzt schon so oft geshen und weiss immer noch nicht was es heisst:)

 
saschak
05-07-2002, 18:57 
 
@ Berni


Danke für die Beschreibung, doch wie Du bestimmt am Anfang des Threads bei meiner Frage gesehen hast, weiss ich wie normalerweise die Ausgabe funktioniert, doch wenn ich Tabellen verknüpfe wie Titus mir beschrieben hat, wie spreche ich dann z.B. von der

Tabelle "Zimmer" (siehe oben) die Beschreibung an???

BITTE.............

Mfg
Sascha

 
Titus
05-07-2002, 21:27 
 
$q = mysql_query(siehe oben) or die ('mysql error: '. mysql_error());
while ($x = mysql_fetch_assoc($q)) echo $x[Beschreibung], '<br>';

 
saschak
05-07-2002, 21:30 
 
Vielen Dank im voraus...

Werde mich morgen an diese Abfrage machen und mich ggf. nochmals melden - vorab nochmals vielen Dank im voraus.


Mfg und noch nen schönen Abend

Sascha

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:09 Uhr.