Ik ben bezig met een kalender script, dat werkt nu nog wel aardig, maar zit met een probleempje die ik niet snap.
Eerst een stukje code:
Het is nog in beginfase, maar hij bouwt dus nu een tabel op van 8 tot 12 uur 's avonds, daaronder de kolommen... De eerste FOR is gewoon dat hij 8x rond gaat om te kijken of er geen overlappende events zijn... De 2e FOR gaat gewoon een array met tijden langs ("08:00","09:00") enz.. Het gedeelte erna tekent de tabel inclusief doorlopende kolommen... $done zorgt ervoor dat hij overlappende in de volgende rij meeneemt
Maar als ik in de database 2 events zet met verschillende lengtes maar met dezelfde begintijden dan laat hij gewoon de laatst ingevoerde weg, terwijl die NIET in de array $done staat en hij toch door de 1e FOR loop gezien moet worden
Ik snap het niet meer
Eerst een stukje code:
code:
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
| $done=array(""); $counts=0; for($a=0;$a<8;$a++){ if($counts==count($times1)){ break; }; $counts=0; echo"<tr bgcolor=\"#ffffcc\">"; for($i=0;$i<count($times1);$i++){ $howlong=0; $time=$times1[$i].":00"; $query=mysql_query("SELECT * FROM kalender WHERE timestart='$time'"); $plan=mysql_fetch_object($query); if($plan->timestart==$time && !in_array($plan->id,$done)){ $howlong=$plan->minutes/60; $i+=$howlong-1; $done[]=$plan->id; echo"<td colspan=\"$howlong\">$plan->type</td>\n"; }else{ $counts++; echo"<td></td>\n"; }; }; echo"</tr>"; }; |
Het is nog in beginfase, maar hij bouwt dus nu een tabel op van 8 tot 12 uur 's avonds, daaronder de kolommen... De eerste FOR is gewoon dat hij 8x rond gaat om te kijken of er geen overlappende events zijn... De 2e FOR gaat gewoon een array met tijden langs ("08:00","09:00") enz.. Het gedeelte erna tekent de tabel inclusief doorlopende kolommen... $done zorgt ervoor dat hij overlappende in de volgende rij meeneemt
Maar als ik in de database 2 events zet met verschillende lengtes maar met dezelfde begintijden dan laat hij gewoon de laatst ingevoerde weg, terwijl die NIET in de array $done staat en hij toch door de 1e FOR loop gezien moet worden

Ik snap het niet meer
[ Voor 10% gewijzigd door Megamind op 11-04-2004 16:37 ]