Ik heb een tijdje terug een scriptje geschreven welke op een site de eerst volgende 6 activiteiten welke volgen (of nog bezig zijn) na huidige datum weergeeft.
De activiteiten staan in een mysql-database:
* titel varchar
* startdatum date
* einddatum date
Voor de beeldvorming, een date voer je dus in als 2004-05-09.
Hier volgt mijn code:
Je ziet waarschijnlijk wel, een beginnende programmeur. De boel werkt uiteraard, echter wil ik de boel nu optimaliseren (zodat het sneller wordt). Heb geen idee waar ik moet & hoe ik moet beginnen.
Suggesties?
De activiteiten staan in een mysql-database:
* titel varchar
* startdatum date
* einddatum date
Voor de beeldvorming, een date voer je dus in als 2004-05-09.
Hier volgt mijn code:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| $huidigedatum = date("Y-m-d"); $querykalender = "SELECT * FROM site_kalender WHERE startdatum >= '$huidigedatum' OR einddatum >= '$huidigedatum' ORDER BY startdatum ASC LIMIT 0,6"; $resultkalender = mysql_query ($querykalender,$databak_db); $brteller = 0; while ($kalenderitem = mysql_fetch_object($resultkalender)) { $brteller++; switch (substr($kalenderitem->startdatum, 5, 2)) { default: $maand1 = "Deze maand bestaat niet - 1"; case 00: $maand1 = "Maand kan geen 0 zijn - 1"; break; case 1: $maand1 = "Januari"; break; case 2: $maand1 = "Februari"; break; case 3: $maand1 = "Maart"; break; case 4: $maand1 = "April"; break; case 5: $maand1 = "Mei"; break; case 6: $maand1 = "Juni"; break; case 7: $maand1 = "Juli"; break; case 8: $maand1 = "Augustus"; break; case 9: $maand1 = "September"; break; case 10: $maand1 = "Oktober"; break; case 11: $maand2 = "November"; break; case 12: $maand2 = "December"; break; } $dag1 = substr($kalenderitem->startdatum, 8, 2); $jaar1 = substr($kalenderitem->startdatum, 0, 4); if ($kalenderitem->einddatum != '0000-00-00') { $dag2 = substr($kalenderitem->einddatum, 8, 2); $jaar2 = substr($kalenderitem->einddatum, 0, 4); switch (substr($kalenderitem->einddatum, 5, 2)) { default: $maand1 = "Deze maand bestaat niet - 2"; case 00: $maand2 = "Maand kan geen 0 zijn - 2"; break; case 1: $maand2 = "Januari"; break; case 2: $maand2 = "Februari"; break; case 3: $maand2 = "Maart"; break; case 4: $maand2 = "April"; break; case 5: $maand2 = "Mei"; break; case 6: $maand2 = "Juni"; break; case 7: $maand2 = "Juli"; break; case 8: $maand2 = "Augustus"; break; case 9: $maand2 = "September"; break; case 10: $maand2 = "Oktober"; break; case 11: $maand2 = "November"; break; case 12: $maand2 = "December"; break; } if(substr($kalenderitem->einddatum, 8, 2)-1 == substr($kalenderitem->startdatum, 8, 2) && $maand1==$maand2) { $tussenvoegsel = "en"; } else { $tussenvoegsel = "t/m"; } } else { $dag2=""; $jaar2=""; $maand2=""; $tussenvoegsel=""; } if ($brteller == 1) { } else{ print("<BR>"); } print("<strong>$dag1 $maand1 $jaar1 $tussenvoegsel $dag2 $maand2 $jaar2</strong><BR>$kalenderitem->titel<BR>"); } |
Je ziet waarschijnlijk wel, een beginnende programmeur. De boel werkt uiteraard, echter wil ik de boel nu optimaliseren (zodat het sneller wordt). Heb geen idee waar ik moet & hoe ik moet beginnen.
Suggesties?
[ Voor 36% gewijzigd door MadFly op 09-05-2004 13:21 ]