Dynamiska webbsidor är ett effektivt sätt att presentera data för användaren . Den webbdesigner behöver bara skapa den första sidan som delar upp data i segment och lägga till data i databasen från vilken webbsida drar dess innehåll . Denna handledning kommer att omfatta hur man skapar en webbsida som drar ut data från en databas , skapa ett skript som delar data så att en post ska existera per sida och skapa dynamiska länkar till varje dynamisk webbsida . Saker du behöver
textredigerare som SourceEdit
Document uppladdning programvara såsom FileZilla
utrymme på en server
PHP och MySQL installerat på servern
databastabell med data och en auto - ökas ID kolumn
Visa fler instruktioner
Initial webbsida
1
Skriv in följande kod för att skapa en standard XHTML-dokument , lägga till titeln , " Dynamiska webbsidor " mellan
, < /title > taggarna , som visas : < DOCTYPE html PUBLIC " - //W3C //DTD XHTML 1.0 Transitional //EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1 ! - transitional.dtd " > Dynamic webbsidor < /title > < /head > < /body> < /html > Spara filen som " dynamicwebpages.php " och ladda upp den till din server .
2
skriv följande kod ovanför DOCTYPE uttalande att ansluta till din databas . Ersätta din information med versaler : < php $ dbh = mysql_connect ( " SERVERNAME " , " användarnamn" , "lösenord" ) or die ? ( " Jag kan inte ansluta till databasen , eftersom : " . Mysql_error ( ) ) ; mysql_select_db ( " databasename " ) ; > Addera 3
Typ början och slutar PHP -taggar mellan
< /body > taggarna : ? ? ? < php >
4
Skriv följande mellan < php > taggar: $ query = mysql_query ( " SELECT * FROM tabell ORDER BY id " ) , medan ( $ r = mysql_fetch_array ( $ query ) ) { extrakt ( $ r ) , echo $ variabler ;} Substitute " bord " med namnet på den tabell som du ritar ut informationen . Ordna kolumnnamn för att visa data på ett sätt som du själv väljer , ersätta " $ variabler " med dina kolumnnamn , plus ett dollartecken . Sortera frågan med ID-fältet ( kolumnen som räknar antalet poster som finns i tabellen ) .
5
Spara och ladda upp ditt dokument . Den sidan kommer att göra alla data i databasen i en stor kolumn . Addera paginera Data
6
Skriv följande kod mellan den andra < ? Php tagg och urvalsfrågan : $ rowsPerPage = 1 ; $ pageNum = 1 , om ( isset ( $ _GET [ ' sida ' ] ) ) { $ pageNum = $ _GET [ ' sida ' ] ; } $ offset = ( $ pageNum - 1 ) * $ rowsPerPage ; Upprätta en variabel som heter " $ rowsPerPage " och ställ in den lika med ett . Denna variabel kommer att användas för att begränsa antalet poster i databasen till en per sida . Upprätta en annan variabel , " $ pageNum " och ställ in den lika med ett . Skapa ett " om " uttalande att skapa varje sidnummer . Upprätta en annan variabel som heter " $ offset " för att hjälpa till att ändra den " select " frågans antal poster per sida .
7
Lägg till följande gräns för " select " fråga , efter " ORDER BY id " uttalande , som visas : LIMIT $ offset , $ rowsPerPage
8
Typ en " count " fråga för att räkna antalet poster i databasen som överensstämmer med " select " fråga . Tilldela resultatet av " count " fråga till variabeln " $ numrows " . Upprätta en annan variabel , " $ maxPage " och dividera värdet " $ numrows " med " $ rowsPerPage " . Avrunda resultatet till närmaste högre heltal genom att innesluta divisorn med " tak ( ) " -funktion //hur många rader som vi har i databasen $ query = " SELECT COUNT ( kolumnnamn ) AS numrows FRÅN tabellen ORDER BY id "; . $ Result = mysql_query ( $ query ) or die ( " Fel , query misslyckades Part 2 " ) , $ row = mysql_fetch_array ( $ result , MYSQL_ASSOC ) , $ numrows = $ rad [ ' numrows ' ] ;//hur många sidor som vi har när du använder personsökning $ maxPage = tak ( $ numrows /$ rowsPerPage ) ; ?
9
Skapa länk till varje sida . Upprätta variabeln " $ jaget " och ställ in den lika med den aktuella sidan genom att åberopa superglobal variabeln och dess parameter $ _SERVER [ ' PHP_SELF ' ] . Upprätta en tom variabel , kallad " $ nav " . Skapa ett " för " loop sätter variabeln " $ sida " lika med ett . Staten som " $ sidan måste vara mindre än eller lika med variabeln " $ maxPage " . Ange sedan sidan för att automatiskt räkna med dubbla plus tecken . Skapa en " if /else " uttalande där om värdet av " $ sida " är lika till värdet av variabeln " $ pageNum " , då variabeln " $ nav " kommer att vara lika med värdet av variabeln " $ sida " . Annars variabeln " $ nav " kommer att motsvara den dynamiska länken . //skriv ut länken till åt varje sida $ själv = $ _SERVER [ ' PHP_SELF ' ] ; $ nav = '' ; för ( $ page = 1 ; $ sida < = $ maxPage ; $ sida + + ) {if ( $ sida == $ pageNum ) { $ nav = " $ sidan " , . . //inget behov av att skapa en länk till aktuell sida } else { $ nav = " $ sida < /a > , " ; } }
10 Skapa navigeringslänkarna för " första sidan " , " sista sidan " , den " nästa post " länken och " tidigare rekordet $ " länken Om variabeln . " pageNum " är större än ett , skapa dynamiska länkar till sidnummer ( $ sida ) , den " tidigare rekordet " länken ( $ föregående) och den " första posten " länken ( $ först ) . Om variabeln " $ pageNum " har ett värde som är mindre än ett , inte skapar en länk för att vi är på sidan ett . Skapa en annan " if /else " som anger att om variabeln " $ pageNum " är mindre än variabeln " $ maxPage " , ställ in variabeln " $ sida " lika med värdet av variabeln " $ pageNum " plus en . Skapa dynamiska länkar för " nästa post " och " sista sidan " . Om värdet på variabeln " $ pageNum " inte är mindre än det värde av variabeln " $ maxPage " , inte skapa de dynamiska länkar , för vi är på sista page.If ( $ pageNum > 1 ) { $ page = $ pageNum - 1 , $ prev = " < a href = \\ " ? $ egen sida = $ sida \\ " > [ Föregående] < /a > ";
$ första = " [ första sidan] < /a > " ;} else { $ prev = ' ' , //vi är på sidan ett , inte ut föregående länk $ första = ' ' , //eller den första sida länk } if ( $ pageNum < $ maxPage ) { $ page = $ pageNum + 1 ; $ next = " [ Nästa ] < /a > , " , $ sista = " [ sista sidan ] < /a > " ;} else { $ next = ' ' , //vi ' re på den sista sidan , inte ut nästa länk $ sista = ' ' , //eller sista sidan länk }
11 Skriv navigeringslänkarna och stänga anslutningen till databasen . ://Skriv över navigationen linksecho $ nav "
" ; echo $ next "
. " $ prev . . " "; . echo $ först " , " $ förra ;//Stäng anslutningen till databasemysql_close ( ) , Förklaring : . . navigeringslänkarna ansluter den ursprungliga sidan till de dynamiska sidor som skapas genom att dela posterna i databasen tabellen , eller rader , i sidor sedan , allt som rester skapa dynamiska länkar till varje sida och skriva ut dem på skärmen .