Dynamiske websider er en effektiv måde at præsentere data for brugeren. Webdesigner skal kun oprette den første side, der deler data i segmenter og tilføje data til databasen , hvorfra websiden trækker dens indhold. Denne tutorial vil dække, hvordan man opretter en webside, der trækker data fra en database , skal du oprette et script, der deler data, så en post vil eksistere per side og skabe de dynamiske links til hver dynamisk webside. Ting du skal
teksteditor som SourceEdit
Document uploading software som FileZilla
plads på en server
PHP og MySQL installeret på serveren
Database tabel med data, og en auto - øges ID kolonne
Vis Flere Instruktioner
Initial webside
1
Skriv følgende kode til at oprette en standard XHTML dokument , tilføjer titlen, "Dynamic websider " mellem
tags, som vist : < DOCTYPE html PUBLIC "- //W3C //DTD XHTML 1.0 Transitional //EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1 ! - transitional.dtd ">
Dynamic websider < /html > Gem filen som " dynamicwebpages.php " og uploade den til din server.
2
Indtast følgende kode over DOCTYPE erklæring at forbinde til din database. Stedfortræder dine oplysninger med store bogstaver: < php $ DBH = mysql_connect ( "servernavn ", " brugernavn" , "password" ) or die ? ( "Jeg kan ikke oprette forbindelse til databasen , fordi: ". Mysql_error ()); mysql_select_db ( " DatabaseName ") >
3
Type begyndelsen og slutter PHP tags mellem
tags : ? ? < php > < br ? >
4
Skriv følgende mellem < php > tags: $ query = mysql_query ( "SELECT * FROM tabel ORDER BY id" ) , mens ( $ r = mysql_fetch_array ( $ query )) { ekstrakt ( $ r ) echo $ variabler ;} Stedfortræder " bord" med navnet på den tabel, du trækker ud af oplysninger . Arranger kolonnenavne at vise data på en måde, som du vælger at substituere "$ variable " med dine kolonnenavne , plus et dollartegn . Sortere forespørgslen fra id felt ( den kolonne, der tæller antallet af poster indeholdt i tabellen) .
5.
Gem og upload dit dokument. Den side vil gøre alle data i databasen i en stor kolonne.
Paginating Data
6
Indtast følgende kode mellem den anden Php -tag og udvælgelsesforespørgslen : $ rowsPerPage = 1 $ pageNum = 1; if ( isset ( $ _GET [' side '] )) { $ pageNum = $ _GET [' side '] ;} $ offset = ( $ pageNum - 1) * $ rowsPerPage ; Etablere en variabel kaldet " $ rowsPerPage " og sæt det lig med en . Denne variabel vil blive brugt til at begrænse antallet af poster i databasen til én pr side . Etablere en anden variabel , "$ pageNum " og sæt det lig med en . Opret en "hvis" erklæring at oprette de enkelte sidetal. Etablere en anden variabel kaldet " $ offset " for at hjælpe ændre " select" forespørgslen antallet af registeroplysninger pr side .
7
Tilføj følgende grænse for "vælg " forespørgsel, efter at " ORDER BY id" erklæring , som vist : LIMIT $ offset, $ rowsPerPage
8
Indtast et " count" forespørgslen til at tælle antallet af poster i databasen, der er i overensstemmelse med de " select" forespørgsel. Tildel resultaterne af " count" forespørgsel til variablen " $ numrows " . Etablere en anden variabel , "$ maxPage ", og dividere værdien af "$ numrows " med " $ rowsPerPage " . Afrund resultaterne op til nærmeste hele tal ved at indkapsle divisor med " ceil ()" funktionen //hvor mange rækker vi har i databasen $ query = "SELECT COUNT ( kolonnenavn ) AS numrows fra tabel ORDER BY id " . $ Result = mysql_query ( $ query ) or die ( 'Fejl , forespørgsel mislykkedes Part 2 '); $ row = mysql_fetch_array ( $ result , MYSQL_ASSOC ) $ numrows = $ row [' numrows '] ;//hvor mange sider vi har , når du bruger personsøgning $ maxPage = ceil ( $ numrows /$ rowsPerPage ) ?
9
Opret link til hver side. Etablere variablen " $ self " og sæt det lig med den aktuelle side ved at påberåbe sig superglobal variabel og dens parameter $ _SERVER [' PHP_SELF '] . Etablere en tom variabel , kaldet " $ nav " . Opret en "for" loop indstille den variable "$ side " lig med én. Stat, "$ side skal være mindre end eller lig med variablen" $ maxPage " . Indstil derefter siden til automatisk at tælle med de dobbelte plustegn . Opret en " hvis /else " sætning hvor , hvis værdien af " $ side " er lig til værdien af variablen "$ pageNum " og derefter variablen " $ nav " vil svare til værdien af variablen "$ side " . Ellers variablen " $ nav " vil svare til dynamisk link . //udskrive link til adgang til hver side $ self = $ _SERVER [' PHP_SELF '] , $ nav = ''; for ($ page = 1 , $ side <= $ maxPage , $ side + +) { if ($ side == $ pageNum ) { $ nav = " $ side " . . //ingen grund til at oprette et link til den aktuelle side } else {$ nav = " $ side , " ;}}
10
Opret navigationslinkene for " første side "," sidste side ", den" næste post "linket og" tidligere rekord $ "linket Hvis variablen ". pageNum " er større end én , skal du oprette de dynamiske links til sidetallet ( $ side ) , de" tidligere rekord "linket ( $ forrige) og" første post "linket ( $ først). Hvis variablen " $ pageNum " har en værdi, der er mindre end en, ikke oprette et link til vi er på side et . Opret en anden ", hvis /else " erklæring om, at hvis variablen " $ pageNum " er mindre end variablen " $ maxPage " , skal du indstille variablen " $ side " lig med værdien af variablen " $ pageNum " plus en. Opret dynamiske links til " næste post " og " sidste side " . Hvis værdien af variablen "$ pageNum " ikke er mindre end den værdi, af den variable "$ maxPage " , skaber ikke de dynamiske links , for vi er på den sidste siden.Hvis ( $ pageNum > 1) {$ page = $ pageNum - 1 , $ prev = " [ Forrige] ";
$ første =" [ første side] ";} else { $ prev = ' //vi er på side et , udskrives ikke forrige link $ første = ' //eller det første link til side } if ($ pageNum <$ maxPage ) { $ page = $ pageNum + 1 , $ next = " [ Next] , " $ sidste =" [ sidste side] ";} else { $ next = ' //vi ' re på den sidste side , udskriv ikke næste link dollar sidste = ' //eller den sidste side linket }
11
Print navigationslinkene og lukke forbindelsen til databasen . ://Udskriv navigationen linksecho $ nav "
" echo $ next "
. " $ prev . ". " . echo $ først " ; "$ sidste ;//Luk forbindelsen til databasemysql_close (); Forklaring : . . navigationslinkene forbinde den oprindelige side til de dynamiske sider skabt ved at dividere poster i databasen tabellen , eller rækker i sider Så alt, rester skabe dynamiske links til hver side og udskrive dem på skærmen.