php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem bei MySQL Abfrage


 
phoenix11
18-02-2003, 15:59 
 
Ich bin dabei ein Scipt zu schreiben bei dem man einen Server zu verschiedenen Zeiten (18, 19, 20, 21 Uhr) an bestimmten Tagen reservieren kann. Den Kalender hab ich schon, nun muss das Script noch die Zeiten anzeigen und ob der Server dann noch frei ist. Ich glaube das Problem besteht darin, dass in der Datenbank kein Eintrag existiert, wenn der Server noch frei ist.

Mein Code

$serverdb = mysql_query("SELECT * FROM cup_server WHERE dateid = '$date' AND zeit = '21'");
while ($server21 = mysql_fetch_array($serverdb)) {

$zeit_21 = $server21['zeit'];

if ( isset($zeit_21) ){
echo " 21 Uhr ist nicht frei <br>";
}
else {
echo " 21 Uhr ist frei <br>";
}
}

Der Server zeigt die Zeiten nur an wenn der Eintrag existiert, sonst einfach gar nichts.
Kennt jemand eine Lösung zu dem Problem?:dontknow: :confused:

 
MelloPie
18-02-2003, 16:05 
 
Klar Du fragst ja nur nach 21 Uhr...
Einträge wo zeit != 21 beachtest Du nicht also wie soll das funktionieren was Du machst???

 
phoenix11
18-02-2003, 16:11 
 
if ( $zeit_21 = '21'){
echo " 21 Uhr ist nicht frei <br>";
}
elseif ( $zeit_21 != '21'){
echo " 21 Uhr ist frei <br>";
}

Meinst du so? Das funktioniert auch nicht.

 
Putterfly
18-02-2003, 16:20 
 
versuchs mal so:

if ( $zeit_21 == '21');
{
echo " 21 Uhr ist nicht frei <br>";
}
else
{
echo " 21 Uhr ist frei <br>";
}

aber keine Garantie auf die Funktionalität ;)

 
mrhappiness
18-02-2003, 16:22 
 
Du fragst ja nur nach Zeilen, bei denen "21" im Feld Zeit drinsteht. Wie willst du dann was anderes finden?

 
phoenix11
18-02-2003, 16:25 
 
ich hab es ja mit isset() versucht. Das sollte ja eigentlich gehen, denn wenn der Server nichts findet, dann ist die Variable $zeit_18 ja auch nicht definiert.

 
Putterfly
18-02-2003, 16:25 
 
naa, schon einigermassen logisch...

falls kein Eintrag mit zeit = 21 existiert sollte es ja nix ausspucken...

 
mrhappiness
18-02-2003, 16:28 
 
lass mal den Teil raus: AND zeit = '21'

 
phoenix11
18-02-2003, 16:31 
 
geht nicht, ich muss ja die ergebnisse für einen bestimmten tag UND eine bestimmte zeit haben.

 
Putterfly
18-02-2003, 16:33 
 
ich nehme an du hast nur einmal 21 uhr pro tag, oda? ;)

und falls diese stunde noch ned vorhanden ist wird sie auch ned ausgespuckt und du kriegst deine resultate...

 
mrhappiness
18-02-2003, 16:34 
 
$serverdb = mysql_query("SELECT * FROM cup_server WHERE dateid = '$date'");
while ($server = mysql_fetch_array($serverdb))
{
$zeit = $server['zeit'];
$frei='Frei:<br />';
switch ($zeit)
{
case 18: $frei.='18:00<br />';
case 19: $frei.='19:00<br />';
case 20: $frei.='20:00<br />';
case 21: $frei.='21:00<br />';
default: $frei.='hmmm<br />';
}
echo $frei;
}

 
phoenix11
18-02-2003, 16:41 
 
ich habs jetzt ganz anders versucht. ich glaub der aufbau meiner datenbank war ganz falsch angesetzt. ich hatte für jeden tag + zeit einen eintrag.
naja jetzt scheint es zu funktionieren. vielen dank für die rasche hilfe :rocks:


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:08 Uhr.