Pagenation op maand (vorige,volgende maand)
alleen heb ik geen flauw idee van hoe dat in zijn werk zou moete gaan.
wie kan me op weg helpen
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
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
function writecalendertest($setnaam,$setmaand)
{
for ($i = 1; $i <= 31; $i++)
{
$query = mysql_query("SELECT id , naam_event , provincie, regio_event FROM event WHERE MONTH(datum) = '$setmaand' AND archief = '0'
AND DAY(datum) = '$i' ") or die(mysql_error());
$num_rows = mysql_num_rows($query);
if($num_rows == 0)
{
}
else {
echo "<div class=\"tittel\"><span style=\"padding-left:10px; margin-top:5px; font-weight:bold\">".$i. " " .$setnaam."</span></div>
<table width="600" border="0">
<tr>
<th scope="col" width="300">Naam event</th>
<th scope="col" width="150">Provincie</th>
<th scope="col" width="150">Regio</th>
</tr>
</table>";
while ($show = mysql_fetch_assoc($query)) {
echo "<table width=\"600\" border=\"0\">
<tr>
<td width=\"300\"><a href='toonevent.php?id=".$show['id']."&event=".$show['naam_event']."'>".$show['naam_event']."</a></td>
<td width=\"150\">".$show['provincie']."</td>
<td width=\"150\">".$show['regio_event']."</td>
</tr>
</table>";
}
}
}
}
{
for ($i = 1; $i <= 31; $i++)
{
$query = mysql_query("SELECT id , naam_event , provincie, regio_event FROM event WHERE MONTH(datum) = '$setmaand' AND archief = '0'
AND DAY(datum) = '$i' ") or die(mysql_error());
$num_rows = mysql_num_rows($query);
if($num_rows == 0)
{
}
else {
echo "<div class=\"tittel\"><span style=\"padding-left:10px; margin-top:5px; font-weight:bold\">".$i. " " .$setnaam."</span></div>
<table width="600" border="0">
<tr>
<th scope="col" width="300">Naam event</th>
<th scope="col" width="150">Provincie</th>
<th scope="col" width="150">Regio</th>
</tr>
</table>";
while ($show = mysql_fetch_assoc($query)) {
echo "<table width=\"600\" border=\"0\">
<tr>
<td width=\"300\"><a href='toonevent.php?id=".$show['id']."&event=".$show['naam_event']."'>".$show['naam_event']."</a></td>
<td width=\"150\">".$show['provincie']."</td>
<td width=\"150\">".$show['regio_event']."</td>
</tr>
</table>";
}
}
}
}
Gewijzigd op 17/02/2011 15:23:07 door Matthias deckers
Allereerst begin je met een lijst (array) met alle maanden, zodat je de goede maand-namen hebt. Nu geef je d.m.v. een GET-request door welke maand je nodig hebt. Dit doe je uiteraard niet met een letter, maar met een getal. Hoe je dit precies doet, dat kun je zelf verzinnen.
Voorbeeld:
0 = jan, 1 = feb, 2 = mrt... elk jaar is 12 maanden, dus 12 = jan (+1jaar) Je moet hiervoor wel een beginjaar doen. Stel je stelt het jaar 0 in als het beginjaar, dan is februari 2011 dus 2011*12+1 = 24133, maar je kunt ook bij het jaar 2000 ofzo beginnen. Om van het getal 24133 bij de de goede jaartal/maand te komen, gebruik je een simpele techniek:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$_GET['date'] = 24133; // dit staat normaal niet in 't script
$maand = $_GET['month']%12;
$jaar = ($_GET['month']-$maand)/12;
?>
$_GET['date'] = 24133; // dit staat normaal niet in 't script
$maand = $_GET['month']%12;
$jaar = ($_GET['month']-$maand)/12;
?>
Voor de rest is het bij 'volgende' dus gewoon het getal $_GET['date']+1 en bij 'vorige' het getal $_GET['date']-1; Het begingetal kun je vinden met date-functies van PHP, of de date-functies van SQL.
opgelost