WiZzLeR Medlem sedan juni 2002 346 inlägg Frågan 10 maj 2005 16:13 #1 så här ser min kalender ut just nu:
<?php
$month = mktime (0,0,0,date("n"),1,date("Y"));
$numdays = date("t", $month);
$today = date("j");
$firstday = strftime("%w", $month);
$firstday = ($firstday == 0) ? 7 : $firstday;
echo "<table width=\"100%\" border=\"0\" cellpadding=\"4\" cellspacing=\"0\">\n";
echo "<td height=\"25\" colspan=\"7\" class=\"header\">\n";
echo date("F Y");
echo "</td>\n";
echo "<tr>\n";
echo "<td align=\"center\" width=\"40\"><b>Mon</b></td>\n";
echo "<td align=\"center\" width=\"40\"><b>Tue</b></td>\n";
echo "<td align=\"center\" width=\"40\"><b>Wed</b></td>\n";
echo "<td align=\"center\" width=\"40\"><b>Thu</b></td>\n";
echo "<td align=\"center\" width=\"40\"><b>Fri</b></td>\n";
echo "<td align=\"center\" width=\"40\"><b>Sat</b></td>\n";
echo "<td align=\"center\" width=\"40\"><b>Sun</b></td>\n";
echo "</tr>\n";
$dow=0;
echo "<tr>\n";
for($i=1; $i<=$firstday; $i++) {
if($i==$firstday) {
if($today == 1) {
echo "<td align=\"center\" bgcolor=\"#3D4653\">1</td>\n";
$dow++;
} else {
echo " <td align=\"center\">1</td>\n";
$dow++;
}
} else {
echo " <td> </td>\n";
$dow++;
}
if($dow%7==0) {
echo " </tr>\n <tr>\n";
}
}
for($i=2; $i<=$numdays; $i++) {
if($i==$today) {
echo "<td align=\"center\" bgcolor=\"#3D4653\">$i</td>\n";
$dow++;
} else {
$dow++;
echo " <td align=\"center\">$i</td>\n";
}
if($dow%7==0) {
echo " </tr>\n <tr>\n";
}
}
echo " </tr>\n<tr>\n";
echo "</table>\n";
?>
Nu försöker jag göra att kalendern visar länkar beroende på om en händelse har lagts in i en mysql databas som matchar datumet på kalendern. Händelsen läggs in med en timestap. Några ideer hur jag ska få in händelserna i loopen.
K Kent.J Medlem sedan aug. 2001 153 inlägg Man skulle kunna välja ut alla händelser som händer i visad vy och sedan har nån slags räknare som räknar frammåt för varje steg(dag).
Eller om man skapar en timestamp för varje steg, kanske blir långsamt med alla SQL/timestamps?
Hrm... vet inte riktigt hur man brukar göra i kalendrar? inte spara med timestamp?
WiZzLeR Medlem sedan juni 2002 346 inlägg men går det inte på något sätt att plocka ut de timestamps som har månaden maj och året 2005 i sig med en ända query?
S sabbacus Medlem sedan juli 2002 630 inlägg
WiZzLeR skrev:
men går det inte på något sätt att plocka ut de timestamps som har månaden maj och året 2005 i sig med en ända query?
SELECT * FROM <min_tabell> WHERE year(<datumkolumn>) = <år> AND month(<datumkolumn>) = <månadsnummer>
S sabbacus Medlem sedan juli 2002 630 inlägg Efter lite nosande på MySQLs hemsida har jag kommit fram till att date_format() finns också.
http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html
Huruvida date_format är bättre eller snabbare vet jag inte :)