Dynamiske nettsider er en effektiv måte å presentere data for brukeren. Webdesigneren trenger bare å opprette den første siden som deler dataene inn i segmenter og legge til data i databasen som web side trekker sitt innhold. Denne opplæringen vil dekke hvordan å lage en nettside som trekker ut data fra en database , lage et skript som deler dataene slik at den ene posten vil eksistere per side og skape dynamiske koblinger til hver dynamisk nettside . Du trenger
tekst editor som SourceEdit
Document laster opp programvare som FileZilla
plass på en server
PHP og MySQL installert på serveren
Database bord med data og en auto - økes ID kolonne
Vis flere instruksjoner
Initial Web Page
en
Skriv inn følgende kode for å lage en standard XHTML -dokument , og legger til tittelen, "Dynamic Hjemmesider " mellom
; < /title >-kodene , som vist : < DOCTYPE html PUBLIC "- //W3C //DTD XHTML 1.0 Transitional //EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1 ! - transitional.dtd "> Dynamic nettsider < /title> < /head> < /body> < /html > Lagre filen som " dynamicwebpages.php ", og laste den opp til serveren din.
2
skriv inn følgende kode over DOCTYPE uttalelse for å koble til databasen. Erstatte din informasjon med store bokstaver : < php $ DBH = mysql_connect ( " SERVERNAME ", " brukernavn" , "passord" ) eller dø ? (' Jeg kan ikke koble til databasen fordi: ' . Mysql_error ( ) ); mysql_select_db ( " databasenavn "); >
3
Type begynnelse og slutt PHP koder mellom
< /body >-kodene : ? ? < php >
4
Skriv inn følgende mellom < php > tags: $ query = mysql_query ( "SELECT * FROM tabell ORDER BY id" ) , mens ( $ r = mysql_fetch_array ( $ query ) ) { pakke ( $ r ) ; echo $ variabler ;} Substitute "bord" med navnet på tabellen som du trekker ut informasjon. Ordne kolonnenavnene å vise dataene på en måte som du selv velger , erstatte " $ variabler " med kolonnenavn , pluss et dollartegn . Sortere søket ved id -feltet ( kolonnen som teller antall poster som finnes i tabell).
5
Lagre og laste opp dokumentet . Siden vil gjengi alle data i databasen i en stor kolonne .
Paginating Data
6
Skriv inn følgende kode mellom andre < ? Php -koden og select spørring: $ rowsPerPage = 1 , $ pageNum = 1; if ( isset ( $ _GET [' side '] ) ) {$ pageNum = $ _GET [' side '] ;} $ offset = ( $ pageNum - 1 ) * $ rowsPerPage ; Etablere en variabel kalt " $ rowsPerPage " og sette den lik en. Denne variabelen vil bli brukt til å begrense antall poster i databasen til én per side . Etablere en annen variabel , "$ pageNum " og sette den lik en. Lag en " hvis " statement for å lage hver side nummer. Etablere en annen variabel kalt " $ offset" for å hjelpe endre "velg" spørring antall poster per side.
7
Legg til følgende begrensning på "select " søket , etter at " ORDER BY id" uttalelse, som vist : LIMIT $ offset , $ rowsPerPage
8
Type «telling» spørring for å telle antall poster i databasen som i samsvar med den "select " søket . Tilordne resultatene av "teller " søket til variabelen " $ numrows " . Etablere en annen variabel , "$ maxPage " og dele verdien av " $ numrows " med " $ rowsPerPage " . Rund resultatene opp til nærmeste heltall ved å kapsle inn divisor med " ceil ( ) "-funksjonen //hvor mange rader vi har i databasen $ query = "SELECT COUNT ( kolonnenavn ) AS numrows FRA tabell ORDER BY id "; . $ Resultat = mysql_query ( $ query ) or die ( 'Feil , spørring feilet Part 2 ' ), $ rad = mysql_fetch_array ( $ resultat , MYSQL_ASSOC ), $ numrows = $ row [ ' numrows ' ] ;//hvor mange sider vi har når du bruker personsøker $ maxPage = ceil ( $ numrows /$ rowsPerPage );
9
Lag link til hver side . Etablere variabelen " $ selv" og sette den lik den aktuelle siden ved å påberope superglobal variabel og dens parameter $ _SERVER [' PHP_SELF '] . Etablere en tom variabel , kalt " $ nav " . Lag en " for " loop sette variabelen " $ side" lik en. Sier at «$ side må være mindre enn eller lik variabelen" $ maxPage " . Deretter satt siden til automatisk telle med de doble plusstegn . Lag en" hvis /annet "statement der hvis verdien av" $ side " er lik til verdien av variabelen " $ pageNum " , deretter variabelen " $ nav " vil tilsvare verdien av variabelen " $ side" . Ellers variabelen " $ nav " vil være lik det dynamiske koblinger . //skrive ut lenker til tilgang til hver side $ selvtillit = $ _SERVER [' PHP_SELF '] , $ nav = ''; for ($ side = 1 , $ side < = $ maxPage , $ side + + ) { if ( $ side == $ pageNum ) {$ nav = " $ side"; . . //ingen behov for å opprette en kobling til gjeldende side } else {$ nav = " $ side < /a > ; "; } }
10 Lag navigeringskoblingene for " første side "," siste side ", den" neste post "linken og" forrige rekord $ "link Hvis variabelen . " pageNum " er større enn én, lage dynamiske koblinger for sidetallet ( $ side ) , den" forrige rekorden "linken ( $ forrige) og den" første plata " linken ( $ først). Hvis variabelen " $ pageNum " har en verdi som er mindre enn én, ikke lage en link for vi er på side en . Lag en annen " hvis /annet " statement om at hvis variabelen " $ pageNum " er mindre enn variabelen " $ maxPage ", stiller variable " $ side" lik verdien av variabelen " $ pageNum " pluss en. Opprett dynamiske koblinger for " neste post " og " siste side" . Hvis verdien av variabelen " $ pageNum " er ikke mindre enn verdien av variabelen " $ maxPage " , ikke lage dynamiske koblinger , for vi er på den siste siden.Hvis ( $ pageNum > 1 ) {$ side = $ pageNum - 1 , $ forrige = " [ Forrige] < /a > ";
$ første = " [Første side] < /a > "; } else {$ forrige = ' '; //vi er på side en , ikke ut forrige lenke $ første = '' , //eller den første kobling } if ( $ pageNum <$ maxPage ) {$ side = $ pageNum + 1; $ neste = " [Neste ] < /a > ; "; $ forrige =" [ Siste side] < /a > "; } else {$ neste = ' '; //vi ' re på siste side , ikke ut neste lenke $ Siste = ' ' , //eller den siste kobling }
11 Print navigeringskoblingene og lukke tilkoblingen til databasen . ://Skriv navigasjon linksecho $ nav "
"; echo $ neste "
. " $ prev. ". "; . echo $ første " ; " $ siste ;//lukke tilkoblingen til databasemysql_close (); Forklaring: . . navigeringskoblingene koble den opprinnelige siden til de dynamiske sidene som er laget ved å dele postene i databasen tabellen , eller rader , i sider Deretter alt som restene er å skape dynamiske koblinger til hver side , og skrive dem ut på skjermen.