Pagenation op maand (vorige,volgende maand)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Matthias deckers

matthias deckers

17/02/2011 15:15:33
Quote Anchor link
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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
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. "&nbsp;" .$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
 
PHP hulp

PHP hulp

24/11/2024 08:07:18
 
Mark L

Mark L

17/02/2011 18:29:21
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
   $_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.
 
Matthias deckers

matthias deckers

17/02/2011 23:16:06
Quote Anchor link
heb het ondertussen werkend gekregen wel op makkelijker manier maar je hebt me hiermee op weg geholpen bedankt !!!
opgelost
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.