Pagination PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart De Kimpe

Bart De Kimpe

12/05/2011 11:30:15
Quote Anchor link
Ik probeer hier een nieuwspagina te maken en heb 3 records in de database, maar hij toont per pagina maar 1 result, en toont maar 2 paginas, waardoor dus 1 nieuwsbericht weg is. Ik heb het limiet op 2 ingesteld maar wil desondanks het 2e bericht niet tonen. Kan iemand mij helpen?

Hier is de code:

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?php
function toonNieuwsitems(){
    $nieuwsitem = new StdClass();
//
//
// PAGINATION


        $limit = 2;
    
    $query = "SELECT COUNT(*) as num FROM tblNieuws";
    $total_pages = mysql_fetch_array(mysql_query($query));
    $total_pages = $total_pages[num];

    $stages = 3;
    $page = mysql_escape_string($_GET['page']);
    if($page){
        $start = ($page - 1) * $limit;
    }
else{
        $start = 0;    
        }
    
        
    
    // Get page data
    $query1 = "SELECT * FROM tblNieuws LIMIT $start, $limit    ";
    $result = mysql_query($query1);


    // Initial page num setup
    if ($page == 0){$page = 1;}
    $prev = $page - 1;    
    $next = $page + 1;                            
    $lastpage = ceil($total_pages/$limit);        
    $LastPagem1 = $lastpage - 1;                    
    
    
    $paginate = '';
    if($lastpage > 1)
    {
    
    

    
    
        $paginate .= "<div class='paginate'>";
        // Previous
        if ($page > 1){
            $paginate.= "<a href='$targetpage?page=$prev'>previous</a>";
        }
else{
            $paginate.= "<span class='disabled'>previous</span>";    }
            

        
        // Pages    
        if ($lastpage < 7 + ($stages * 2))    // Not enough pages to breaking it up
        {    
            for ($counter = 1; $counter <= $lastpage; $counter++)
            {

                if ($counter == $page){
                    $paginate.= "<span class='current'>$counter</span>";
                }
else{
                    $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                    
            }
        }

        elseif($lastpage > 5 + ($stages * 2))    // Enough pages to hide a few?
        {
            // Beginning only hide later pages
            if($page < 1 + ($stages * 2))        
            {

                for ($counter = 1; $counter < 4 + ($stages * 2); $counter++)
                {

                    if ($counter == $page){
                        $paginate.= "<span class='current'>$counter</span>";
                    }
else{
                        $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                    
                }

                $paginate.= "...";
                $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
                $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";        
            }

            // Middle hide some front and some back
            elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2))
            {

                $paginate.= "<a href='$targetpage?page=1'>1</a>";
                $paginate.= "<a href='$targetpage?page=2'>2</a>";
                $paginate.= "...";
                for ($counter = $page - $stages; $counter <= $page + $stages; $counter++)
                {

                    if ($counter == $page){
                        $paginate.= "<span class='current'>$counter</span>";
                    }
else{
                        $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                    
                }

                $paginate.= "...";
                $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
                $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";        
            }

            // End only hide early pages
            else
            {
                $paginate.= "<a href='$targetpage?page=1'>1</a>";
                $paginate.= "<a href='$targetpage?page=2'>2</a>";
                $paginate.= "...";
                for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++)
                {

                    if ($counter == $page){
                        $paginate.= "<span class='current'>$counter</span>";
                    }
else{
                        $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                    
                }
            }
        }

                    
                // Next
        if ($page < $counter - 1){
            $paginate.= "<a href='$targetpage?page=$next'>next</a>";
        }
else{
            $paginate.= "<span class='disabled'>next</span>";
            }

            
        $paginate.= "</div>";        
    
    
}


 // pagination
         $nieuwsitem->pagination = $paginate;

//------------------------------------
        
    
    
    
    //

            
while($row = mysql_fetch_array($result))
        {

        
        $nieuwsitem->bericht = "<div class='nieuwsbericht'><h1>". $row['Titel'] ."</h1>";
        $nieuwsitem->bericht .= $row['Inhoud'] ."</div>";
                    }

    return $nieuwsitem;
    ?>

}
Gewijzigd op 12/05/2011 12:50:08 door Bart De Kimpe
 
PHP hulp

PHP hulp

22/11/2024 18:44:28
 
Maikel  B

Maikel B

12/05/2011 11:48:19
Quote Anchor link
plaats even de php tags boven en onderaan je script

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php bovenin

?>
onderin


Dat leest een stuk fijner
 



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.