wertearray für kalender, ich blick nicht mehr durch
theresa
- php
hallo liebes forum!
ich bin verzweifelt. ich mach schon seit tagen rum, aber es kommt einfach nix bei raus...
ich blick einfach nicht mehr durch.
ich lese aus einer datenbank 4 felder aus:
1. beginn-stunde
2. beginn-minute (0=XX:00, 1=XX:30)
3. end-stunde
4. end-minute (0=XX:00, 1=XX:30)
ich habe einen tag von 8-22 geistig in 28 halbe stunden eingeteilt
und möchte nun bei jeder datensatzausgabe prüfen, ob ein termin ist oder nicht. wenn ein termin ist, dann soll der wert des arrays 1 sein, ansonsten 0.
rein nach folgendem schema:
+---------------------+
| UHR | MO |
+---------------------+
| 8-8:30 | 1 |
+---------------------+
| 8:30-9 | 1 |
+---------------------+
......
+---------------------+
|14:30-15:00| 1 |
+---------------------+
|15:30-16:00| 0 |
+---------------------+
hier mein code:
$akth = 8;
$arra = 1;
$query = "SELECT * FROM termine ich kürze das ab...";
$result = mysql_query($query) or die("Datenbank offline");
$numrows = mysql_num_rows($result);
$y = 1;
while ($row = mysql_fetch_array($result))
{
$bh = $row["bh"];
$eh = $row["eh"];
$bm = $row["bm"];
$em = $row["em"];
for($g=1; $g<=14; $g++)
{
if ($akth <= $eh && $akth >= $bh)
{
$array = array("$y" => array("$arra" => "1"));
$arra = $arra+1;
$array = array("$y" => array("$arra" => "1"));
$arra = $arra+1;
}
else
{
$array = array("$y" => array("$arra" => "0"));
$arra = $arra+1;
}
$akth = $akth+1;
}
$y = $y+1;
$arra = 1;
}
was mach ich falsch, ich glaub ich durchblick das mit den arrays nicht ...
danke für eure hilfe,
theresa
Hallo,
Du solltest beim Tabellendesign (also DB) beginnen,
dann als nächstes eine passend quantisierte Abfrage gestalten, die eventuell mittels 'DISTINCT" dazu gebracht wird, wür jedes "Fach" nur einen Datensatz zu liefern, wenn welche vorhanden sind.
Du kannst also die Datenbank bereits wertvolle Vorarbeit für Dich machen lassen. Dann musst Du das Ergebnis in PHP nur noch ins passende Fach einsortieren, aber nichts mehr prüfen oder rechnen.
LG
Chris
hi chris!
ich hab das problem schon lösen können.
dennoch danke für den tipp!!
lg,
theresa