Hey Leute.
Schon wieder komme ich mit einem Problem.
Ich sitze derzeit an einem kleinen Userpanel. Dieses soll unter anderem zeigen, wie oft sich der User pro Monat angemeldet hat. Dabei soll nur eine Anmeldung pro Tag zählen. Also kann man max. 30 bzw. 31 "Aktivitätspunkte" pro Monat "sammeln".
Mein Fehler bzw. Problem besteht darin, dass er zwar immer die Monate ausgibt, aber das Jahr nicht berücksichtigt. Bzw es soll so aussehen:
00 00 00 00 00
03/11 04/11 05/11 06/11 07/11
In einer Art Legende der Monat bzw. das Jahr.. oben drüber die "Punkte" wie oft man im Monat angemeldet war.
Ich habe das Ganze so gelöst:
<table id="activity_top">
<tr>
<?php
date_default_timezone_set('UTC');
$month = date("m");
$year = date("y");
$month_length = substr($month, 0, -1);
if($month_length=="0") $month = substr($month, 1);
switch($month) {
case 1:
$i = 11;
$k = 3;
break;
case 2:
$i = 12;
$k = 4;
break;
case 11:
$i = 9;
$k = 1;
break;
case 12:
$i = 10;
$k = 2;
break;
default:
$i = $month - 2; //START
$k = $month + 2; //END
break;
}
for($i; $i<=$k; $i++) {
if($i>12) $i=1;
if($i<10) {
$f='0'.$i;
} else {
$f=$i;
}
$sql2 = mysql_query("SELECT `id` FROM `activity` WHERE `user_id`='".$user_id."' AND `datum` LIKE '%-".$f."-%';");
$res2 = mysql_num_rows($sql2);
if($res2<10) $res2 = '0'.$res2;
echo '<td>'.$res2.'</td>';
}
?>
</tr>
</table>
<table id="activity_bottom">
<tr>
<td>03/11</td>
<td>04/11</td>
<td>05/11</td>
<td>06/11</td>
<td>07/11</td>
</tr>
</table>
Alles anzeigen
Die Legende habe ich jetzt erstmal außen vor gelassen. Vllt könnte mir jmd. von euch Verbesserungsvorschläge geben, wie ich die Monate und das Jahr miteinbeziehen kann, bzw. dann auch die Legende bestücken kann.
Danke XantypiaxD