Pagenation op maand (vorige,volgende maand)
ik heb hier een functie gemaakt die alle events uit mijn db haalt van gans jaar gesorteerd op dag (aangezien ik functie 12 keer oproep) nu wil ik dit maken dat dit werkt met vorige en volgende maand te starten op huidige maand.
alleen heb ik geen flauw idee van hoe dat in zijn werk zou moete gaan.
wie kan me op weg helpen
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
Strategie:
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:
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.
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.
heb het ondertussen werkend gekregen wel op makkelijker manier maar je hebt me hiermee op weg geholpen bedankt !!!
opgelost
opgelost




