Hvordan lage dynamiske websider med PHP

Dynamiske nettsider er en effektiv måte å presentere data for brukeren. Webdesign trenger bare å lage den første siden som deler data inn i segmenter og legge til data i databasen som nettside trekker sitt innhold. Denne opplæringen vil dekke hvordan å lage en web-side som trekker ut data fra en database, lage et skript som deler dataene slik at en rekord vil eksistere per side og lage dynamiske lenker til hver dynamisk nettside.

Bruksanvisning

Initial webside

1 Hvordan lage dynamiske websider med PHP

Skriv inn følgende kode for å lage en standard XHTML-dokument, og legger til tittelen, "Dynamiske websider" mellom <title> </ title> tags, som vist:
<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN"
"Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<Html xmlns = "http://www.w3.org/1999/xhtml" xml: lang = "no" lang = "no">
<Head>
<Title> dynamiske websider </ title>
</ Head>
<Body>
</ Body>
</ Html>
Lagre filen som "dynamicwebpages.php" og laste den opp til serveren din.

2 Hvordan lage dynamiske websider med PHP


Skriv inn følgende kode over DOCTYPE uttalelse for å koble til databasen. Erstatte din informasjon med store bokstaver:
<? Php
$ DBH = mysql_connect ( "SERVER", "BRUKERNAVN", "passord")
or die ( 'Jeg kan ikke koble til databasen fordi:' mysql_error ().);
mysql_select_db ( «databasenavn");
?>

3 Hvordan lage dynamiske websider med PHP


Skriv inn start- og slutt PHP koder mellom <body> </ body> tags:
<? Php
?>

4 Hvordan lage dynamiske websider med PHP


Skriv inn følgende mellom kodene <? Php?>:
$ Query = mysql_query ( "SELECT * FROM tabell ORDER BY id");
while ($ r = mysql_fetch_array ($ query)) {
pakke ($ r);
echo $ variabler;
}
Substitute "table" med navnet på tabellen som du trekker ut informasjon. Ordne kolonnenavnene for å vise dataene på en måte som du selv velger, erstatte "$ variabler" med kolonnenavnene, pluss et dollartegn. Sorter søket ved id-feltet (kolonnen som teller antall poster som finnes i tabellen).

5 Lagre og laste opp dokumentet. Siden vil gjengi alle data i databasen i en stor kolonne.

Paginating Data

6 Hvordan lage dynamiske websider med PHP


Skriv inn følgende kode mellom andre <php-koden og velger søket?:
$ RowsPerPage = 1;
$ PageNum = 1;
if (isset ($ _ GET [ 'side']))
{

$pageNum = $_GET['page'];

}
$ Offset = ($ pageNum - 1) * $ rowsPerPage;
Etablere en variabel kalt "$ rowsPerPage" og stiller lik en. Denne variabelen skal brukes til å begrense antall poster i databasen til én per side. Etablere en annen variabel, "$ pageNum" og stiller lik en. Lag en "hvis" statement å lage hver side nummer. Etablere en annen variabel kalt "$ offset" for å hjelpe endre "velg" spørringen antall poster per side.

7 Hvordan lage dynamiske websider med PHP


Legg til følgende grense for "velg" spørring, etter "ORDER BY id" statement, som vist:
LIMIT $ offset, $ rowsPerPage

8 Hvordan lage dynamiske websider med PHP


Skriv inn en "teller" spørring for å telle antall poster i databasen som er i samsvar med "velge" søket. Tildele resultatene av "teller" spørring til variabelen "$ numRader". Etablere en annen variabel, "$ maxPage" og dele verdien av "$ numRader" med "$ rowsPerPage". Round resultatene opp til nærmeste heltall ved å kapsle divisor med "ceil ()" -funksjon.
// Hvor mange rader vi har i databasen
$ Query = "SELECT COUNT (Kolonne) AS numRader fra tabell ORDER BY id";
$ Resultat = mysql_query ($ query) or die ( 'Feil, spørring mislyktes Part 2');
$ Rad = mysql_fetch_array ($ resultat, MYSQL_ASSOC);
$ NumRader = $ row [ 'numRader'];
// Hvor mange sider vi har ved bruk av personsøker?
$ MaxPage = himling ($ numRader / $ rowsPerPage);

9 Hvordan lage dynamiske websider med PHP


Lag link til hver side. Etablere variabelen "$ self" og sette den lik den aktuelle siden ved å starte superglobal variabel og dens parameter $ _SERVER [ 'PHP_SELF']. Etablere en tom variabel, kalt "$ nav". Lag en "for" loop sette variabelen "$ side" lik en. State som «$ side må være mindre enn eller lik variabelen" $ maxPage ". Da satt for å automatisk regne med doble plusstegn. Lag en" hvis / else "statement der hvis verdien av" $ side "er lik til verdien av variabelen "$ pageNum", da variabelen "$ nav" vil tilsvare verdien av variabelen "$ side". Ellers variabelen "$ nav" vil være lik for dynamiske koblinger.

// Skriver ut linken til tilgang til hver side
$ Selv = $ _SERVER [ 'PHP_SELF'];
$ Nav = '';
for ($ page = 1; $ side <= $ maxPage; $ side ++)
{
if ($ side == $ pageNum)
{

$nav .= " $page "; // no need to create a link to current page

}
ellers
{

$nav .= " &lt;a href=\"$self?page=$page\">$page&lt;/a> ";

}
}

10 Hvordan lage dynamiske websider med PHP


Lag navigasjonskoblingene for den "første side", "siste side", den "neste post" linken og "forrige rekorden" linken. Hvis variabelen "$ pageNum" er større enn én, skape dynamiske koblinger for sidetallet ($ side), den "forrige rekorden" linken ($ forrige) og "første posten" 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 / else" statement sier at hvis variabelen "$ pageNum" er mindre enn variabelen "$ maxPage", sett variabelen "$ side" lik verdien av variabelen "$ pageNum" pluss en. Opprett dynamiske koblinger på "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å siste side.
if ($ pageNum> 1)
{
$ Side = $ pageNum - 1;
$ Prev = "<a href=\"$self?page=$page\"> [Forrige] </a>";

$ Første = "<a href=\"$self?page=1\"> [Første side] </a>";
}
ellers
{
$ Prev = ''; // Vi er på side en, ikke ut forrige lenke
$ Første = ''; // Eller den første siden koblingen
}
if ($ pageNum <$ maxPage)
{
$ Side = $ pageNum + 1;
$ Next = "<a href=\"$self?page=$page\"> [Neste] </a>";
$ Sist = "<a href=\"$self?page=$maxPage\"> [Siste side] </a>";
}
ellers
{
$ Next = ''; // Vi er på siste side, ikke ut neste lenke
$ Siste = ''; // Eller den siste lenke
}

11 Hvordan lage dynamiske websider med PHP


Skriv ut navigasjonskoblingene og lukke tilkoblingen til databasen:
// Skriv ut navigasjonskoblinger
echo $ nav. "<br />";
echo $ neste. "". $ Prev. "<br />";
echo $ først. "". $ Sist;
// Lukk tilkobling til databasen
mysql_close ();
Forklaring:
De navigasjonskoblinger koble den opprinnelige siden til de dynamiske sidene som er laget ved å dele postene i databasen tabellen, eller rekker, inn i sider. Så, alt som gjenstår er å lage dynamiske lenker til hver side og skrive dem på skjermen.

Hint

  • For å lage en dynamisk kobling, legge til en "?" tegn på slutten av filtypen, etterfulgt av "page =" og sette den lik kolonne i databasen som heter "id". Så lenge "velg" forespørselen "BESTILT AV" "id", da koblingene vil koble til hver post i den rekkefølgen de ble lagt inn i databasen tabellen.