Page views in while lus

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tim S

Tim S

09/11/2012 00:52:14
Quote Anchor link
Goedenavond,

Ik ben bezig om een een pagina te maken waarop je kan zien hoe vaak de website is bezocht per maand per jaar etc. Eigenlijk ging alles heel voorspoedig totdat is de gegevens netjes in een tabel wou zetten. Ik heb alle gegevens in een while lus staan, maar als ik dit in een tabel zet komt alles onder elkaar en als ik een <th> tag gebruik wordt deze ook telkens herhaald.


Wat ik nu krijg is:

maand|januari|1|maand|februari|8|
of
januari|1|
februari|2|


Wat ik graag wil is:

maand|januari|februari|maart|april|
views| 6 | 9 | 19 | 0 |

Dit is even een voorbeeld met 2 rijen, in de toekomst kunnen het er meer zijn. Weet iemand hoe ik dit kan bereiken? Misschien is er een andere oplossing dat een while lus??

Hier is me code, de tabellen zijn al niet meer goed door al het testen.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
if($_GET['year']){
         
        $year = $_GET['year'];
      
      $query = mysql_query("SELECT MONTH(cdate) AS cdate,url, COUNT(views) AS views FROM page_recs WHERE YEAR(cdate)=$year GROUP BY MONTH(cdate)");
      
      echo '<table border="1">
                   <tr><th>maand</th>'
;
       while ($views = mysql_fetch_assoc($query))
        {

            
            
            //switch voor alle maanden voorbeeld(maand is 01 dan wordt januari weergegeven)
            switch ($views['cdate'])
            {
                case
01:
                    $month = "januari";
                    break;
                case
02:
                    $month = "februarie";
                    break;
                case
03:
                    $month = "maart";
                    break;
                case
04:
                    $month = "april";
                    break;
                case
05:
                    $month = "mei";
                    break;
                case
06:
                    $month = "juni";
                    break;
                case
07:
                    $month = "julie";
                    break;
                case
08:
                    $month = "augustus";
                    break;
                case
09:
                    $month = "september";
                    break;
                case
10:
                    $month = "oktober";
                    break;
                case
11:
                    $month = "november";
                    break;
                case
12:
                    $month = "december";
                    break;
            }
//einde switch
            
            echo '<td><a href="cms.index.php?pagina=show_recs&month='.$views['cdate'].'">'.$month.'</a></td></tr>';
            
            echo '<tr><td>'.$views['views'].'</td></tr>';
            
        }
    
        echo'</table>';
          
     }

?>


Dit gaat hem naar mijn idee niet worden, misschien heeft iemand een idee!!

Alvast bedankt!
Gewijzigd op 09/11/2012 00:52:56 door Tim S
 
PHP hulp

PHP hulp

29/03/2024 08:18:06
 
Chris PHP

Chris PHP

09/11/2012 08:15:09
Quote Anchor link
Waarom gebruik je hier een switch?
 
Tim S

Tim S

09/11/2012 11:29:49
Quote Anchor link
Om de maand weer te geven, anders staat er als maand 01 of bijvoorbeeld 12 nu staat er januari of december
 
Wouter J

Wouter J

09/11/2012 11:34:16
Quote Anchor link
Ik zou een array gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$months
= array('januari', 'februari', 'maart', ...);

$month = $months[views['cdate']];
?>
 
Tim S

Tim S

09/11/2012 13:30:44
Quote Anchor link
Ja dat is misschien ook een goede oplossing, pakt hij bij 01 dan januari of moet dit 1 zijn??

Ook heb ik zitten denken om de tabel uit een array te halen, en dan foreach te gebruiken, maar dan zit ik nog steeds met de <th> tag. Hier kom ik even niet uit...
 



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.