Sådan oprettes Dynamiske websider med PHP

Dynamiske websider er en effektiv måde at præsentere data for brugeren.Webdesigner behøver kun at skabe 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 du opretter en webside, der trækker data fra en database, skal du oprette et script, der deler data, således at én post vil eksistere pr side og skabe de dynamiske links til hver dynamisk webside.

hvad du har brug

  • Tekst editor som SourceEdit
  • Dokument uploade software som FileZilla
  • plads på en server
  • PHP og MySQL installeret på serveren
  • Database tabel med data og en auto-forøges ID kolonne

Indledende webside

  1. Skriv følgende kode til at oprette en standard XHTML-dokument, tilføje titlen, "Dynamiske websider" mellem & lt; title & gt; & lt; / title & gt;tags, som vist:!
    & lt; DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transition

    al.dtd"& gt;
    & lt; html xmlns = "http://www.w3.org/1999/xhtml" xml: lang = "da" lang = "da" & gt;
    & lt; head & gt;
    & lt; title & gt; Dynamic Websider & lt; / title & gt;
    & lt; / head & gt;
    & lt; body & gt;
    & lt; / body & gt;
    & lt; / html & gt;
    Gem filen som "dynamicwebpages.php", og uploade den til din server.

  2. Skriv følgende kode over DOCTYPE erklæring til at oprette forbindelse til din database.Stedfortræder dine oplysninger med store bogstaver:
    & lt; php
    $ DBH = mysql_connect ("servernavn", "BRUGERNAVN", "password")
    eller dø ("Jeg kan ikke oprette forbindelse til databasen, fordi:» mysql_error ().)?;
    mysql_select_db ("DatabaseName")
    & gt;

  3. Indtast de begynder og slutter PHP tags mellem & lt; body & gt; & lt; / body & gt;tags:
    & lt; php
    & gt;??

  4. Skriv følgende mellem & lt;? Php & gt;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 tegner ud af oplysninger.Arranger kolonnenavne at vise data på en måde, som du vælger, erstatte "$ variable" med dine kolonnenavne, plus et dollartegn.Sorter forespørgslen ved id felt (den kolonne, der tæller antallet af poster, der er indeholdt i tabellen).

  5. Gem og upload dit dokument.Siden vil gøre alle data i databasen i en stor kolonne.

Paginating Data

  1. Skriv følgende kode mellem den anden & lt; php tag og vælg forespørgslen:?
    $ rowsPerPage = 1;
    $ sidenummer = 1;
    if (isset ($ _ GET ['side']))
    {

    $ sidenummer = $ _GET ['side'];

    }
    $ offset = ($ sidenummer - 1) * $ rowsPerPage;
    Etablere en variabel kaldet "$ rowsPerPage" og sæt det lig med en.Disse data vil blive anvendt til at begrænse antallet af poster i databasen til en per side.Etablere en anden variabel, "$ sidenummer" og sæt det lig med en.Opret en "hvis" erklæring til at oprette hver sidetal.Etablere en anden variabel kaldet "$ offset" for at hjælpe ændre "vælge" forespørgslens antal poster per side.

  2. Tilføj følgende grænse for "vælge" forespørgsel, efter "ORDER BY id" erklæring, som vist:
    LIMIT $ offset, $ rowsPerPage

  3. Skriv et "tæller" query til at tælle antallet af poster i databasen, der overholder de "vælge" forespørgsel.Tildel resultaterne af "count" forespørgsel til variablen "$ antalRækker".Etablere en anden variabel, "$ maxPage", og dividere værdien af ​​"$ antalRækker" med "$ rowsPerPage".Rundt resultaterne op til nærmeste hele tal ved omslutter divisor med "ceil ()" funktion.
    // hvor mange rækker vi har i databasen
    $ query = "SELECT COUNT (kolonnen) AS antalRækker fra tabel ORDER BY id";
    $ resultat = mysql_query ($ query) or die ('Fejl, forespørgsel mislykkedes del 2');
    $ rækken = mysql_fetch_array (resultat $, MYSQL_ASSOC);
    $ antalRækker = $ row ['antalRækker'];
    // hvor mange sider, vi har, når du bruger personsøgning?
    $ maxPage = ceil ($ antalRækker / $ rowsPerPage);

  4. Opret linket til hver side.Etablere variablen "$ selv" og sæt den svarer til den aktuelle side ved at påberåbe sig superglobale variabel og dens parameter $ _SERVER ['PHP_SELF'].Etablere en tom variabel, kaldet "$ nav".Opret en "for" loop indstilling variablen "$ side" lig med en.Stat, "$ side skal være mindre end eller lig med variablen" $ maxPage ". Indstil derefter side til automatisk at regne med de dobbelte plustegn. Opret en", hvis / andet "erklæring, hvor, hvis værdien af" $ side "er ligtil værdien af ​​variablen "$ sidenummer", så variablen "$ nav" vil svare til værdien af ​​variablen "$ side". Ellers variablen "$ nav" vil svare den dynamiske link.

    // udskrivelink til adgang til hver side
    $ self = $ _SERVER ['PHP_SELF'];
    $ nav = '';
    for ($ side = 1; $ side & lt; = $ maxPage; $ side ++)
    {
    if ($ side== $ sidenummer)
    {

    $ nav = "$ side". // ingen grund til at oprette et link til den aktuelle side

    }.
    ellers
    {

    $ nav = "& amp; lt; a href = \" $self side = $ side \ "& gt;? $ side & amp; lt; / a & gt;"

    }
    }

  5. Opret navigation links til den" første side "," sidste side ", den" næste "linket og" record linket tidligere rekord "Hvis variablen."$ sidenummer" er større end en, skabe de dynamiske links til sidetallet ($ side), linket "tidligere rekord" ($ prev) og "første plade" linket ($ først). Hvis variablen "$ sidenummer"har en værdi, der er mindre end en, ikke skaber et link for vi er på side et. Opret en anden", hvis / andet "erklæring om, at hvis variablen" $ sidenummer "er mindre end variablen" $ maxPage ",sætte variablen "$ side" lig med værdien af ​​variablen "$ sidenummer" plus en. Opret de dynamiske links til "næste post" og "sidste side". Hvis værdien af ​​variablen "$ sidenummer" ikke er mindre endværdien af ​​variablen "$ maxPage", skaber ikke de dynamiske links, for vi er på sidste side
    if ($ sidenummer & gt; 1)
    {
    $ side = $ sidenummer - 1.;
    $ prev = "& lt; a href = \" $ self side = $ side \? "& Gt; [Forrige] & lt; / a & gt;";

    $ første = "& lt; a href = \" $ self page = 1 \ "& gt; [Første side] & lt; / a & gt;?";
    }
    ellers
    {
    $ prev = '';// Vi er på side et, udskrives ikke forrige link
    $ første = '';// Eller den første side linket
    }
    hvis ($ sidenummer & lt; $ maxPage)
    {
    $ side = $ sidenummer + 1;
    $ næste = "& lt; a href = \" $ self side = $ side \? "& Gt; [Næste] & lt; / a & gt;";
    $ sidste = "& lt; a href = \" $ self side = $ maxPage \ "& gt; [Sidste side] & lt; / a & gt;?";
    }
    ellers
    {
    $ næste = '';// Vi er på sidste side, skal du ikke udskrive næste link
    $ sidste = '';// Eller den sidste side linket
    }

  6. Udskriv navigation links og lukke forbindelsen til databasen:
    // Udskriv navigation links
    echo $ nav."& lt; br / & gt;";
    echo $ næste."".$ prev."& lt; br / & gt;";
    echo $ først."".$ sidste;
    // Luk forbindelsen til databasen
    mysql_close ();
    Forklaring:
    navigationslinkene forbinde den oprindelige side til de dynamiske sider oprettet ved at dividere posterne i databasen bordet, eller rækker, i sider.Derefter er der kun tilbage at skabe dynamiske links til hver side og udskrive dem på skærmen.

Tips & amp;Advarsler

  • at skabe et dynamisk link, tilføje en "?"mark for enden af ​​filtypen, efterfulgt af "side =" og sæt den lig med kolonnen i databasen hedder "id".Så længe "vælg" forespørgsel "bestilt af" "id", så links vil forbinde til hver post i den rækkefølge, de er opført i databasen tabellen.

Ressourcer

  • Hent FileZilla
  • Hent SourceEdit
395
0
12
Computer Programmeringssprog