Hallo,
beetje rare titel misschien maar dat is in heel kort mijn probleem.
Ik probeer een tabel te maken met uren:
8:00 - 8:30
8:30 - 9:00
9:00 - 9:30
etc (tot 24u)
Nu heb ik een database tabel met daarin een veld time_start & time_end:
bv:
time_start = 8:30
time_end = 10:00
Dan moet die data dus in de tabel komen te staan.
Als er geen data is voor dat huidig uur dan maakt hij gewoon een lege rij aan (zodanig dat je wel de uren ziet maar geen data erin).
Nu heb ik dus al zitten te proberen maar ik heb nog geen goede "logica" gevonden om dit te doen waardoor ik steeds vast loop.
Enkele voorbeeldjes:
-- ik weet dat dit zeker niet "goede" code is maarja, zoals ik al zei, ik vind de logica niet echt
Iemand die me misschien beetje opweg kan helpen?
ik kan dit niet in de while (mysql_fetch) lus doen omdat ik daar nooit die lege rijen in krijg (denk ik toch)
maar als ik het in een andere lus doe moet ik eerst mijn mysql data in een array oid stoppen met een index die dus later overeenkomt met een betreffend uur ofzo?
Alvast bedankt
beetje rare titel misschien maar dat is in heel kort mijn probleem.
Ik probeer een tabel te maken met uren:
8:00 - 8:30
8:30 - 9:00
9:00 - 9:30
etc (tot 24u)
Nu heb ik een database tabel met daarin een veld time_start & time_end:
bv:
time_start = 8:30
time_end = 10:00
Dan moet die data dus in de tabel komen te staan.
Als er geen data is voor dat huidig uur dan maakt hij gewoon een lege rij aan (zodanig dat je wel de uren ziet maar geen data erin).
Nu heb ik dus al zitten te proberen maar ik heb nog geen goede "logica" gevonden om dit te doen waardoor ik steeds vast loop.
Enkele voorbeeldjes:
-- ik weet dat dit zeker niet "goede" code is maarja, zoals ik al zei, ik vind de logica niet echt
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| while ($event = mysql_fetch_object($result)) { list($hours_start,$min_start) = split(':', $event->time); $ev_hours_start[$hours_start] = $hours_start; $ev_min_start[$hours_start] = $min_start; list($hours_end,$min_end) = split(':', $event->time_end); $ev_hours_end[$hours_end] = $hours_end; $ev_min_end[$hours_end] = $min_end; $ev_text[$hours_start] = $event->text; } $hour = '8'; $min = '30'; while ($hour_end<'24') { if ($min_end == '30') { $min_end = '00'; $hour_end = $hour+1; } else { $min_end = '30'; $hour_end = $hour; } // show event if (($ev_hours_start[$hour] >= $hour) AND ($hour <= $ev_hours_end[$hour])) echo "<tr bgcolor='$bgcolor'><td>$hour:$min - $hour_end:$min_end</td><td>event</td><td>$ev_text[$hour]</td></tr>"; else echo "<tr bgcolor='$bgcolor'><td>$hour:$min - $hour_end:$min_end</td><td>open</td><td>open</td></tr>"; if ($min_end == '00') { $hour++; $min = '00'; } else { $min = '30'; } } } |
Iemand die me misschien beetje opweg kan helpen?
ik kan dit niet in de while (mysql_fetch) lus doen omdat ik daar nooit die lege rijen in krijg (denk ik toch)
maar als ik het in een andere lus doe moet ik eerst mijn mysql data in een array oid stoppen met een index die dus later overeenkomt met een betreffend uur ofzo?
Alvast bedankt