Paginanummering

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Front-end Developer

Dit ga je doen Met behulp van diverse programmeertalen ontwikkelen van Front-end software; Het begeleiden van het front-end team; Het oplossen van incidenten; Het bijhouden van een backlog; Je hebt een actieve bijdrage in de wekelijkse overleggen met de omliggende teams; Je houdt trends bij en adviseert het management hierover waar nodig; Helder communiceren met de stakeholders om hen zo mee te nemen in projecten en laten inzien wat de duur en toegevoegde waarde van bepaalde projecten is. Hier ga je werken Deze organisatie heeft circa 40 miljoen bezoekers per maand en heeft innovatie hoog in het vaandel staan. Het

Bekijk vacature »

C# .NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Ontwikkelen in Blazor; Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie. Hier ga je werken Binnen deze organisatie werken duizenden mensen binnen allerlei verschillende disciplines. Tevens hebben zij veel specialiteiten in huis, waaronder ook .Net Developers. Ter uitbreiding van een nieuw team en ter ondersteuning van het project zijn ze opzoek naar een nieuwe collega voor het team. Als C#.NET Developer zal jij je

Bekijk vacature »

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

Bekijk vacature »

.net developer

Hoi! Wij zijn auto.nl en wij verkopen auto's online. je bestelt bij ons een auto net zo makkelijk als een spijkerbroek. En bevalt ie niet? Dan stuur je 'm gewoon weer terug. En dat we dat goed doen bewijst onze hoge klanttevredenheid van een 9,3. Nu maken we de volgende stap bij auto.nl. We starten met fysieke winkels. Online zoeken, offline bekijken. Maar nog altijd, geen gedoe! Gewoon eerlijk, transparant en zonder zorgen een auto kopen.. Maar om dat waar te blijven maken en nóg beter te worden, zoeken we uitbreiding van ons development team. Wat ga je precies doen?

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

.NET Developer Azure

Dit ga je doen Het ontwerpen en bouwen van diverse applicaties (C#, ASP.NET, MVC); Het ontwikkelen van Webservices (WCF); Het meewerken aan de transitie naar Azure; Het samenwerken met collega's binnen een Scrumteam en meedenken over de User Stories; Het bouwen van unittesten; Meedenken over nieuwe tooling, ontwikkelingen en technologieën in de markt. Hier ga je werken Je komt te werken bij een organisatie die verantwoordelijk is voor de ontwikkeling van verschillende portalen. Deze portalen worden gebruikt door diverse partijen en jouw taak is om ervoor te zorgen dat deze optimaal functioneren. Je wordt onderdeel van een Scrumteam en werkt

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Junior/medior Back end developer PHP, Laravel

Functie Jij als ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor veel van je tijd je bezig houden met het ontwikkelen van maatwerk features en applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. Jij als full stack developer zult dus

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »
Jan Jaap van der Sluijs

Jan Jaap van der Sluijs

26/06/2012 11:03:46
Quote Anchor link
Hallo,

Het onderstaande script gebruik ik op een website voor paginanummering.


Echter is het volgens mij niet mogelijk om de query met GROUP BY uit te voeren. Heeft iemand een oplossing hoe dit wel gaat werken?

Bedankt.


--------------------------------------------------------------------------------

PagedQuery.class.php

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
143
144
145
146
147
148
149
150
151
152
153
<?php
/**
 * Used for building query's witch need pagination.
 */

class PagedQuery
{
    /** @var integer Total number of records */
    var $total;
    /** @var integer Record length of a page */
    var $pageSize;
    /** @var integer Total pages */
    var $pages;
    /** @var string Current requested page */
    var $currentPage;
    /** the variable in the url to indicate the current page. Defaul = 'page' */
    var $pageVar;

    /**
    * Construct a PagedQuery. The $query variable will be replaced by a new
    * query wich will allow pagination.
    * @param string $query Sql select query
    * @param integer $totalRows Number of rows to show on a page
    * @param integer $pageVar (optional) The used variable for pagination
    */

    function __construct(&$query, $totalRows, $pageVar = "page")
    {
    
        // set pageVar
        $this->pageVar = $pageVar;
        
        // Get the current page
        if (isset($_GET[$pageVar]) && is_numeric($_GET[$pageVar]))
        {

            $currentPage = $_GET[$pageVar];
        }

        else
        {
            $currentPage = 1;
        }

        
        $this->pageSize = $totalRows;
        $this->currentPage = $currentPage;
        
        $query = strtolower($query);
        // Split the query to create a new count query
        list($queryStart, $queryEnd) = explode(" from ", $query, 2);
        
        // Create the count query
        if (substr_count($queryEnd,"group by ",1) == 1)
            $query = "select count(*) from (select count(*) from " . $queryEnd . ") as t1";
        else
            $query = "select count(*) from " . $queryEnd;
        
        // Get the total rows
        $result = mysql_query($query);
        $row = mysql_fetch_row($result);
        $this->total = $row[0];
        
        // bereken het aantal pagina's
        $this->pages =  ceil($this->total / $totalRows);
        
        // Create the new query
        $offset = ($currentPage - 1) * $totalRows;
        $query = $queryStart . " from " . $queryEnd . " limit " . $offset . "," . $totalRows . " ";

    }

    
    /**
     * Get the base link from the requested url current
     * Used to build the page links
     */

    public function getBaseUrl()
    {

        
        if (!isset($_GET[$this->pageVar]))
        {

            if ($_SERVER['QUERY_STRING'] == "")
                return "?" . $this->pageVar . "=";
            else
                return "?" . $_SERVER['QUERY_STRING'] . "&" . $this->pageVar . "=";
        }

        else
        {
            // replace and append the query string
            if (sizeOf($_GET) <= 1)
            {

                return "?" . $this->pageVar . "=";
            }

            else
            {
                // try to replace the var
                $newQueryString = str_replace("&" . $this->pageVar . "=" . $_GET[$this->pageVar], "", $_SERVER['QUERY_STRING']);
                // try to replace the first var
                $newQueryString = str_replace($this->pageVar . "=" . $_GET[$this->pageVar], "", $newQueryString);
                // correct & if this is the first char
                if(substr($newQueryString,0,1) == "&")
                {

                    $newQueryString = substr($newQueryString,1,strlen($newQueryString)-1);
                }

                
                return "?" . $newQueryString . "&" . $this->pageVar . "=";
            }
        }
        
    }

    
    /**
     * Get the url for the first page,
     * without the page infor in the url.
     * This will prevent urls with duplicate content
     * for search engine optimization.
     */

    public function getFirstUrl()
    {

        if (isset($_GET[$this->pageVar]))
        {

            // try to replace the var
            $newQueryString = str_replace("&" . $this->pageVar . "=" . $_GET[$this->pageVar], "", $_SERVER['QUERY_STRING']);
                // try to replace the first var
            $newQueryString = str_replace($this->pageVar . "=" . $_GET[$this->pageVar], "", $newQueryString);
            // strip off last character for correct url
            return "?" . $newQueryString;
        }

        else
        {
            if ($_SERVER['QUERY_STRING'] != "")
            {

                return "?" . $_SERVER['QUERY_STRING'];
            }

            else
                return ".";
        }
    }


    /**
     * Shorcut function for calling the static
     * method pageLinks from class Pagination
     */
    
    public function pageLinks()
    {

        return Pagination::pageLinks($this);
    }

    
    /**
     * Shorcut function for calling the static
     * method simplePageLinks from class Pagination
     */
    
    public function simplePageLinks()
    {

        return Pagination::simplePageLinks($this);
    }

}

?>



Pagination.class.php

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
143
144
145
146
147
148
149
<?php
/**
 * Used for building query's witch need pagination.
 */

class Pagination
{
    
    /**
     * Simpel layout for page numbering
     */

    public static function simplePageLinks($pagedQuery)
    {

        $return = "";
        $baseLink = $pagedQuery->getBaseUrl();
        
        if ($pagedQuery->pages > 1)
        {

            for ($i=1;$i<$pagedQuery->pages + 1;$i++)
            {

                if ($i==1)
                    $return .= " <a class=\"page\" href=\"" . $pagedQuery->getFirstUrl() . "\">";
                else
                    $return .= " <a class=\"page\" href=\"" . $baseLink . $i . "\">";
                    
                if ($i == $pagedQuery->currentPage)
                    $return .= "<b>$i</b>";
                else
                    $return .= "$i";
                $return .= "</a> ";
            }
        }
    
        return $return;
    }

    
        
    /**
     * Simpel layout for page numbering
     */

    function pageLinks($pagedQuery)
    {

        $iconLocation = "images/icons";
        $baseLink = $pagedQuery->getBaseUrl();
        $firstLink = $pagedQuery->getFirstUrl();
        
        $return = "";
        
        $return .= "<table class=\"pagination\"><tr>";
        
        if ($pagedQuery->currentPage > $pagedQuery->pages)
            return "";
        
        $count = 10; // max 10 links
        
        if ($pagedQuery->currentPage != 1)
        {

            $return .= "<td><a class=\"no_pagination\" href=\"" . $firstLink . "\"><img src='$iconLocation/page-first.gif'></a></td>";
            
            $return .= "<td><a class=\"no_pagination\" href=\"";
            
            if ($pagedQuery->currentPage - 1 == 1)
            {

                $return .= $firstLink;
            }

            else
            {
                $return .= $baseLink . ($pagedQuery->currentPage - 1);
            }

            
            $return .= "\"><img src='$iconLocation/page-prev.gif'></a></td>";
        }

        else
        {
            $return .= "<td><img src='$iconLocation/page-first-disabled.gif'></td>";
            
            $return .= "<td><img src='$iconLocation/page-prev-disabled.gif'></td>";
        }

        
        // more then standard 5 left
        if ($pagedQuery->currentPage + 4 > $pagedQuery->pages)
            $leftCalcCount = 9 - ($pagedQuery->pages - $pagedQuery->currentPage);
        else
            $leftCalcCount = 5;
        
        // Linker links
        for ($i=$pagedQuery->currentPage - $leftCalcCount;$i<$pagedQuery->currentPage + 1;$i++)
        {

            if ($i < 1)
                $i = 1;
            
            $return .= "<td><a ";
            
            // add class
            if ($i == $pagedQuery->currentPage)
                $return .= "class=\"current\" ";
            
            if ($i == 1)
            {

                $return .= "href=\"" . $firstLink . "\">";
            }

            else
            {
                $return .= "href=\"" . $baseLink . $i . "\">";
            }
  
                
            if ($i == $pagedQuery->currentPage)
                $return .= "<b>$i</b>";
            else
                $return .= "$i";
            $return .= "</a></td>";
            
            $count--;
        }

        
        // Rechter links
        for ($i=$pagedQuery->currentPage + 1;$i< $pagedQuery->currentPage + $count + 1;$i++)
        {

            if ($i < 1)
                $i = 1;
                
            if ($i > $pagedQuery->pages)
                break;    
            
            $return .= "<td><a href=\"" . $baseLink . $i . "\">";
            if ($i == $pagedQuery->currentPage)
                $return .= "<b>$i</b>";
            else
                $return .= "$i";
            $return .= "</a></td>";
        }
        
        
        if ($pagedQuery->currentPage != $pagedQuery->pages)
        {

            $return .= "<td><a class=\"no_pagination\" href=\"" . $baseLink . ($pagedQuery->currentPage + 1) . "\"><img src='$iconLocation/page-next.gif'></a></td>";
            
            $return .= "<td><a class=\"no_pagination\" href=\"" . $baseLink  . $pagedQuery->pages . "\"><img src='$iconLocation/page-last.gif'></a></td></td>";
        }

        else
        {
            $return .= "<td><img src='$iconLocation/page-next-disabled.gif'></td>";
            
            $return .= "<td><img src='$iconLocation/page-last-disabled.gif'></td>";
        }

        
        $return .= "</tr></table>";
        
        return $return;
    }
}

?>



Het script

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query
= "SELECT * FROM TABEL";
$totalRows = 9; // Max rows on a page
$PagedQuery = new PagedQuery($query, $totalRows);

$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{

    echo $row[];
}


$PagedQuery->pageLinks();
?>
Gewijzigd op 26/06/2012 11:07:59 door Jan Jaap van der Sluijs
 
PHP hulp

PHP hulp

14/05/2024 18:05:03
 
John Cena

John Cena

26/06/2012 11:11:42
Quote Anchor link
Pff, kun je ook alleen relevante code plaatsen...?
Wat gaat er fout, wat is de foutmelding?
 
Jeroen VD

Jeroen VD

26/06/2012 11:38:01
Quote Anchor link
je zegt dat je query niet goed werkt, maar dit is de meest basis query. (apart dat je niet met * moet selecteren, maar alle kolommen moet opnoemen) waarom zou je willen groupen?
 
Jan Jaap van der Sluijs

Jan Jaap van der Sluijs

26/06/2012 11:45:25
Quote Anchor link
De bijgevoegde query is alleen voor het voorbeeld. De echte versie bestaat uit INNER JOINS en daarbij word er ook gebruik gemaakt van GROUP BY.

In de classes kun je zien dat de query gesplitst word, vervolgens werkt GROUP BY niet.
Gewijzigd op 26/06/2012 14:22:36 door Jan Jaap van der Sluijs
 
Jan Jaap van der Sluijs

Jan Jaap van der Sluijs

02/07/2012 08:59:21
Quote Anchor link
Als iemand een alternatief heeft op het gebied van paginanummering, dan houd ik me aanbevolen.
 



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.