Mailinglisten-Archive |
On Sun, 22 Apr 2001 10:05:53 +0200 Sun, 22 Apr 2001 10:21:57 +0200 (CEST), you wrote: >> Ich habe eine Tabelle tab1 mit dem Feld saison1 bis saison10, wo die >> Preise für diese Saisonen drin stehen. Also tab1.saison1=2000 und >> tab1.saison2=2500 etc. >> >> In einer anderen Tabelle tab2 steht für die einzelenen Kalenderwochen >> drin, welche saison (also saison1, saison2 ... saison10) in der >> jeweiligen Kalenderwoche ist. Also kw1s=saison1, kw2s=saison3 etc. bis >> kw52s=saison2 >> Die beiden Tabellen haben eindeutige tab1.code und tab2.code codes, >> über die sie zuordenbar sind) > >Ich würde eher sowas machen: >|Haus | von | bis | Preis | >--------------------------- >| 1 | KW1 | KW4 | 2000 | >| 1 | KW5 | KW8 | 2500 | >| 2 | KW1 | KW3 | 1500 | >... > >in von, bis kannst Du 'richtige' Datumswerte schreiben > >> >> Jetzt soll ein Interessent die Möglichkeit haben, zu sagen: ich will >> Kalenderwoche 7 und will nicht mehr als 2000 zahlen. Natürlich könnte > >select Haus, Preis where <1. Urlaubstag> between von and bis and Preis < >2000; hallo Andreas, merci für Deine Hilfe und sorry für das lange quote... Kapieren tu ich es nicht so ganz... Aber das Problem ist nicht die Datumsbehandlung, sondern die Tatsache, daß ich zwar die Kalenderwoche habe, in der der Interessent das Ferienhaus haben will und den Preis, den er bezahlen will, aber ich weiß nicht, welche Saison das ist (Saison 1 bis 10). In der tab2 habe ich für jede Kalenderwoche KW1 bis KW52 die - KWV1 bis KWV52 Verfügbarkeit (noch so eine schnieke Sache) 0=frei, 1=belegt, 2=optione etc..., - KWS1 bis KWS52 Saisonzeit saison1, saison2 bis 10 beide tabellen haben das Feld code, wo der Häusercode drin steht. in tab1 habe ich die ganzen Daten des Ferienhauses sowie die Felder Preis für saison1: tab1.saison1=2000,- bis tab1.saison10=12000,- ich werde es jetzt so realisieren (bei gesucht KW23<2000): select tab2.KWV23, tab2.KWS23 from tab2 JOIN tab1 USING(code) where tab2.KW23==0 also lediglich abfragen, welches Haus in der gesuchten KW denn frei ist. In der Ausgabeschleife mache ich dann für jeden gefundenen Wert $help=$tab2.KWS23 - das ist die Saison saison1 bis saison10 und eine IF-Abfrage if gefundenes, freies Haus tab1.$help<2000 dann echo... AAAABER: ich steh für die Ausgabe echt auf dem Schlauch: normalerweise mache ich eine Suche nach dem Schema: $abfrage = "SELECT ID, NAME, VORNAME,... where..."; $erg = mysql_db_query("datenbank",$abfrage,$verbindung); $num=mysql_NumRows($erg); if ($num>0 ) { echo "Anzahl der Fundstellen: $num <BR> \n"; while (list($ID, $NAME, $VORNAME, ...) = mysql_fetch_row($erg)) { echo "Nummer= $ID\n"; echo "Name= $NAME\n"; echo "Vornamer= $VORNAME\n"; echo "......\n"; } # while list... } else { echo "<BR>leider keine Fundstellen<BR>\n"; } mysql_FreeResult($erg); mysql_close($verbindung); --------------------------------------------------------------------------------- aber wie ist die Ausgabe bei einem JOIN (ich habe schon ne ganze Menge an Seiten in manuals durchstöbert, aber nirgends ein Beispiel dafür gefunden... geht das jetzt so: $abfrage = "select KWV23, KWS23 from tab2 JOIN tab1 USING(code) where tab2.KW23==0"; # suche mir alle Datensätze in beiden tabellen wo in der Tabelle2 für die KW23 die Verfügbarkeit =0 ist. $erg = mysql_db_query("datenbank",$abfrage,$verbindung); $num=mysql_NumRows($erg); if ($num>0 ) { echo "Anzahl der Fundstellen: $num <BR> \n"; while (list($tab2.KWV23, $tab2.KWS23, $tab1.erstes-Feld, $tab1.zweites-Feld,... alle Felder ...) = mysql_fetch_row($erg)) { $help=$tab2.KWS23; if (tab1.$help<2000) { echo "gesuchtes Haus Code=$tab1.code\n<BR>"; echo "......\n"; } # while list... } else { echo "<BR>leider keine Fundstellen<BR>\n"; } ----------------------- bei der Zeile mit dem While (list... bin ich noch am Zweifeln. Geht das so?!? ------------- wahrscheinlich hätte ich es in der Zeit, wo ich hier grüble, schon dreimal ausprobiert, aber alleine das Grübeln war es wahrscheinlich schon wert. Also: schlagt mich nicht - vielleich hat ja jemand einen Gedanken! Und bitte nicht böse sein, daß ich diese Anfrage sowohl in der Liste als auch in der Newsgroup gestellt hatte! -- bye by ma http://www.ferien.li --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive