Hoe om dynamische webpagina's met PHP Maak

dynamische webpagina's zijn een efficiënte manier om gegevens te presenteren aan de gebruiker.De webdesigner hoeft alleen de eerste pagina met de data splitst in segmenten te maken en de gegevens toe te voegen aan de database waaruit de webpagina trekt de inhoud ervan.Deze tutorial zal dekken hoe je een webpagina die trekt gegevens uit een database te maken, maakt u een script dat de gegevens verdeelt, zodat één record zal bestaan ​​per pagina en maak de dynamische links naar elke dynamische webpagina.

wat je

  • tekst editor zoals SourceEdit
  • Document uploaden van software zoals FileZilla
  • Need
  • Space op een server
  • PHP en MySQL geïnstalleerd op de server
  • Database tafel met gegevens en een auto-opgehoogd ID column

Initial webpagina

  1. Typ de volgende code om een ​​standaard XHTML-document, het toevoegen van de titel, "Dynamic Webpagina's" tussen de & lt; title & gt; & lt; / title & gt;labels, zoals:
    & lt; DOCTYPE html PUBLIC "- // W3C // D

    TD XHTML 1.0 Transitional // EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"& gt;
    & lt; html xmlns = "http://www.w3.org/1999/xhtml" xml: lang = "en" lang = "en" & gt;
    & lt; head & gt;
    & lt; title & gt; Dynamische Webpagina's & lt; / title & gt;
    & lt; / head & gt;
    & lt; body & gt;
    & lt; / body & gt;
    & lt; / html & gt;
    Sla het bestand op als "dynamicwebpages.php" en upload deze naar uw server.

  2. Typ de volgende code boven de DOCTYPE verklaring aan te sluiten op uw database.Vervangen door uw gegevens met hoofdletters:
    & lt; php
    $ DBH = mysql_connect ("SERVERNAME", "Username", "password")
    of sterven ('Ik kan geen verbinding met de database, want:' mysql_error ().)?;
    mysql_select_db ("databasenaam");
    & gt?;

  3. Typ het begin en einde PHP-tags tussen de & lt; body & gt; & lt; / body & gt;tags:
    & lt; php
    & gt;?

  4. Typ de volgende tussen de & lt;? Php & gt;tags:
    $ vraag = mysql_query ("SELECT * FROM tabel ORDER BY id");
    while ($ r = mysql_fetch_array ($-query)) {
    extract ($ r);
    echo $ variabelen;
    }
    Invaller "tafel" met de naam van de tabel die u tekent out informatie.Schik de kolomnamen om de gegevens bij wijze van uw keuze weer te geven, te vervangen "$ variabelen" met uw column namen, plus een dollarteken.Sorteert de vraag van het veld id (de kolom die het aantal records in de tabel telt).

  5. Opslaan en uw document uploaden.De pagina zal alle data in de database maken in een grote kolom.

pagineren de Data

  1. Typ de volgende code tussen de tweede & lt; php tag en de select-query:?
    $ rowsPerPage = 1;
    $ pageNum = 1;
    if (isset ($ _ GET ['page']))
    {

    $ pageNum = $ _GET ['page'];

    }
    $ offset = ($ pageNum - 1) * $ rowsPerPage;
    Instelling van een variabele genaamd "$ rowsPerPage" en zet deze gelijk aan één.Deze variabele wordt gebruikt om het aantal records in het gegevensbestand te beperken tot één per pagina.Vast een andere variabele, "$ pageNum" en zet deze gelijk aan één.Maak een "als" statement op elke pagina nummer te creëren.Vestigen andere variabele genaamd "$ offset" om te helpen de "selecteer" query aantal records per pagina wijzigen.

  2. Voeg de volgende limiet aan het "selecteer" query, na de "ORDER BY id" statement, zoals:
    LIMIT $ offset, $ rowsPerPage

  3. Typ een "count" query om het aantal records in de database die voldoen aan de "select" vraag tellen.Wijs de resultaten van de "count" query naar de variabele "$ aantalRijen".Vast een andere variabele, "$ maxPage" en verdeel de waarde van de "$ aantalRijen" door "$ rowsPerPage".Rond de resultaten tot het dichtstbijzijnde gehele getal door bijvoeging van de deler met de "ceil ()" functie.
    // hoeveel rijen moeten we in de database
    $ vraag = "SELECT COUNT (kolomnaam) AS aantalRijen FROM tabel ORDER BY id";
    $ result = mysql_query ($ vraag) of sterven ('Fout query mislukte Part 2');
    $ row = mysql_fetch_array ($ result, MYSQL_ASSOC);
    $ aantalRijen = $ row ['aantalRijen'];
    // hoeveel pagina's hebben we bij het gebruik van paging?
    $ maxPage = ceil ($ aantalRijen / $ rowsPerPage);

  4. Maak de link naar elke pagina.Bepaal de variabele "$ zelf 'en zet deze gelijk aan de huidige pagina met een beroep op de superglobal variabele en de parameter $ _SERVER [' PHP_SELF '].Vast een lege variabele, genaamd "$ nav".Maak een lus "voor" het instellen van de variabele "$ pagina" gelijk aan één.Staat die $ maxPage "$ pagina kleiner dan of gelijk aan de variabele moet zijn ''. Stel vervolgens pagina om automatisch te tellen met de dubbele plus tekenen. Maak een" if / else "statement waar als de waarde van de" $ pagina "is gelijkom de waarde van de variabele "$ pageNum", dan is de variabele "$ nav" zal de waarde van de variabele "$ pagina". Anders wordt de variabele "$ nav" zal de dynamische koppeling gelijk evenaren.

    // print hetlink om elke pagina
    $ zelf = $ _SERVER ['PHP_SELF'];
    $ nav = '';
    voor ($ page = 1; $ pagina & lt; = $ maxPage; $ pagina ++)
    {
    if ($ pagina== $ pageNum)
    {

    $ nav = "$ pagina."; // niet nodig om een ​​link naar de huidige pagina

    maken}.
    anders
    {

    $ nav = "& amp; lt; a href = \" $zelf page = $ pagina \ "& gt;? $ pagina & amp; lt; / a & gt;";

    }
    }

  5. Maak de navigatie-links voor de" eerste pagina "," laatste ", de" "verbinding en de" volgende record koppeling vorige record "Als de variabele."$ pageNum" groter is dan één, maakt de dynamische links voor het paginanummer ($ pagina), de link "vorige record" ($ vorige) en de "eerste record" link ($ eerste). Indien de variabele "$ pageNum"een waarde die kleiner is dan één, hebben een link niet maken want we zijn op de eerste pagina. Maak nog een" if / else "verklaring waarin staat dat als de variabele" $ pageNum "lager is dan de variabele" $ maxPage ",de variabele "$ page" gelijk aan de waarde van de variabele "$ pageNum" plus een. Maak dynamische links voor "next record" en "laatste". Als de waarde van de variabele "$ pageNum" ten minstede waarde van de variabele "$ maxPage", niet maken de dynamische koppelingen, want we zijn op de laatste pagina
    if ($ pageNum & gt; 1)
    {
    $ page = $ pageNum -. 1;
    $ prev = "& lt; a href = \" $ eigen page = $ pagina \? "& Gt; [Vorige] & lt; / a & gt;";

    $ eerste = "& lt; a href = \" $ eigen page = 1 \ "& gt; [eerste pagina] & lt; / a & gt;?";
    }
    anders
    {
    $ prev = '';// We op pagina een, vorige koppeling
    $ eerste = '' niet af;// Noch de eerste pagina koppeling

    } if ($ pageNum & lt; $ maxPage)
    {
    $ page = $ pageNum + 1;
    $ volgende = "& lt; a href = \" $ eigen page = $ pagina \? "& Gt; [Volgende] & lt; / a & gt;";
    $ laatste = "& lt; a href = \" $ eigen page = $ maxPage \ "& gt; [Laatste pagina] & lt; / a & gt;?";
    }
    anders
    {
    $ volgende = '';// We op de laatste pagina, hoeft volgende link
    $ niet afdrukken laatste = '';// Noch de laatste pagina koppeling
    }

  6. Druk de navigatie-links en sluit de verbinding met de database:
    // Druk de navigatie-links
    echo $ nav."& lt; br / & gt;";
    echo $ volgende."".$ prev."& lt; br / & gt;";
    echo $ eerste."".$ laatste;
    // Sluit de verbinding met de database
    mysql_close ();
    Toelichting:
    De navigatie-links sluit de originele pagina naar de dynamische pagina's gemaakt door het verdelen van de records in de database tabel, of rijen, in pagina's.Dan, alles wat overblijft is het creëren van dynamische links naar elke pagina en af ​​te drukken op het scherm.

Tips & amp;Waarschuwingen

  • Om een ​​dynamische koppeling te maken, voeg een "?"markering aan het einde van de extensie, gevolgd door "= page" en stel deze gelijk is aan de kolom in de gegevensbank, "id".Zolang de "selecteer" query "VEROORDEELD DOOR" "id", dan de links zal verbinden met elke record in de volgorde waarin ze in de database tabel werden ingevoerd.

Resources

  • Download FileZilla
  • Download SourceEdit
138
0
12
Computer Programmeertalen