phpbar.de logo

Mailinglisten-Archive

=?ISO-8859-1?Q?Re:_Tabelleninhalt_aus_tab2_ist_Zelle_f=FCr_tab1?=

Re: Tabelleninhalt aus tab2 ist Zelle für tab1

Martin Steinherr mysql_(at)_lists.phpcenter.de
Sun, 22 Apr 2001 23:36:47 +0200


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