pagineren MySQL resultaten met PHP heeft een aantal voordelen . Ten eerste , het versnelt de MySQL query, aangezien het alleen resultaten een klein aantal resultaten . Ten tweede , het verbetert de ervaring van de gebruiker , zoals het toont een beheersbaar aantal resultaten per pagina . Ten derde , het bespaart bandbreedte door geen onnodige resultaten sturen . Om deze redenen hebben veel sites , waaronder Google , Yahoo en WordPress , het gebruik ervan goedgekeurd . MySQL paginering te gebruiken , moet u de SQL " LIMIT " commando en de " GET " -parameters gebruikt in de URL . Instructies 1 Maak een tabel " telefoonboek " in je MySQL database met de kolommen " id ", "naam" en " telefoon . " Bevolken de tafel met een paar items . Hier zijn de SQL query's voor het maken en vullen van de tabel , respectievelijk : CREATE TABLE telefoonboek ( ` id ` int ( 11 ) NOT NULL AUTO_INCREMENT , ` naam ` varchar ( 100 ) NOT NULL , ` telefoon ` varchar ( 20 ) NOT NULL , PRIMARY KEY ( ` id ` ) ) ; INSERT INTO telefoonboek ( ` naam ` , ` telefoon ` ) VALUES ( 'Jack ' , '201 - 379-5406 ' ) , ( ' Jake ' , '331 - 123-5196 ' ) , ( ' John ' , '222 - 342-3250 ' ) ; kopen van 2 Maak een nieuw bestand " pagination.php " en open deze met een tekst zoals Kladblok . Schrijf een segment van de code die wordt aangesloten op uw MySQL server , met behulp van de functie " mysql_connect " PHP , en selecteert de database met de " telefoonboek " tafel , met behulp van de functie " mysql_select_db " PHP . Hier is een voorbeeld : mysql_connect ( ' localhost ' , ' admin ' , ' wachtwoord' ) ; mysql_select_db ( 'test' ) ; Vervang de vier snaren met uw hostnaam , gebruikersnaam , wachtwoord en database , respectievelijk . 3 Schrijf een segment van de code dat de variabele " $ rowsPerPage " stelt aan het aantal rijen per pagina kan worden getoond , zet " $ HuidigePagina " om de pagina opgevraagd via " $ _GET [ ' page ' ] " of nul als geen en zet " $ offset " om de offset van waaruit om rijen te halen uit de database , berekend door een uit " $ HuidigePagina " en te vermenigvuldigen met " $ rowsPerPage . " Hier is een voorbeeld : $ rowsPerPage = 5 ; $ HuidigePagina = ( ( isset ( $ _GET [ ' page ' ] ) && $ _GET [ ' page ' ] > 0 ) ? ( int ) $ _GET [ ' page ' ] : 1 ) ; $ offset = ( $ HuidigePagina - 1 ) * $ rowsPerPage ; 4 Schrijf een regel code die ophaalt " $ rowsPerPage " rijen vanaf de offset ingesteld in " $ offset " uit de tabel " telefoonboek " door het uitvoeren van een " SELECT " vraag via de functie " mysql_query " PHP en slaat het resultaat in een nieuwe variabele . Hier is de code : $ resultaat = mysql_query ( " SELECT * FROM telefoonboek LIMIT ' $ offset ' , ' $ rowsPerPage . . . ) ; 5 Schrijf een " tijdje " lus die de rijen van de query resultaat set , " $ resultaat , " met behulp van de functie " mysql_fetch_assoc " PHP 's ophaalt en toont ze als een lijst of tabel . Hier is een voorbeeld : echo ' ID < /th > | Naam < /th > | telefoonnummer < /th > < ;/tr> ' ; while ( $ row = mysql_fetch_assoc ( $ resultaat ) ) { echo ' | ' . $ row [ ' id ' ] . ' < /td > | ' . $ rij [ 'naam' ] . ' < /td > | ' . $ rij [ ' telefoon ' ] . ' < /td > < /tr> ' ; } echo ' < /table > ' ; 6 Schrijf een segment van de code dat het aantal vermeldingen in de tabel haalt door het uitvoeren van een " aANTAL" vraag via de functie " mysql_query " PHP , berekent het aantal pagina's dat door het aantal inzendingen van de " $ rowsPerPage " variabele en afrondingen naar boven en slaat het resultaat in een variabele " $ TotalPages . " Hier is de code : $ resultaat = mysql_query ( " SELECT COUNT ( * ) AS count FROM telefoonboek ' ) ; $ rij = mysql_fetch_assoc ( $ resultaat ) ; $ TotalPages = ceil ( $ row [ ' tel ' ] /$ rowsPerPage ) ; 7 Schrijf twee "als " statements : een die een " Vorige Pagina " koppeling wordt en een die een " Next toont pagina "verbinding , indien de pagina bestaat ( dat wil zeggen als " $ HuidigePagina " groter is dan een voor " Previous Page " en als " $ HuidigePagina " groter is dan " $ TotalPages " voor " Next Page " ) . Hier is de code : if ( $ HuidigePagina > 1 ) { echo ' < a href = " pagination.php page = ? ' ( $ HuidigePagina - 1 ) " . . " > Vorige pagina < /a > ' ; } if ( $ HuidigePagina < $ TotalPages ) { echo ' < a href = " paginering . php page = " > Volgende pagina < /a > ' ? ' ( $ HuidigePagina 1 ) . ". ; }
|
|