⊗ppPmSDDb 442 of 447 menu

Databázový engine v PHP

Teraz vytvorme engine webu, v ktorom sa obsah stránok nebude ukladať v súboroch, ale v databáze. Predpokladajme, že v databáze máme nasledujúcu tabuľku:

pages
id title content
1 title1 <div> content1 </div>
2 title2 <div> content2 </div>
3 title3 <div> content3 </div>

Predpokladajme, že chceme naše stránky získať pomocou URL adries typu /page/1, kde číslo bude predstavovať id stránky, ktorú chceme získať.

Poďme na implementáciu. Najprv v samostatnom súbore vytvorme pripojenie k databáze a pripojme tento súbor k nášmu:

<?php $link = require 'connect.php'; ?>

Získajme požadovanú URL:

<?php $url = $_SERVER['REQUEST_URI']; ?>

Pomocou regulárneho výrazu rozdeľme URL na časti:

<?php preg_match('#/page/(\d+)#', $url, $match); ?>

Zapíšme id z zachytenej skupiny do premennej:

<?php $id = $match[1]; ?>

Vykonajme dopyt do databázy, kde podľa id získame požadovanú stránku:

<?php $query = "SELECT * FROM pages WHERE id=$id"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); $page = mysqli_fetch_assoc($res); ?>

Získajme súbor šablóny:

<?php $layout = file_get_contents('layout.php'); ?>

V súbore šablóny vykonajme vloženie titulu a obsahu:

<?php $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); ?>

Odošleme zostavenú stránku webu do prehliadača:

<?php echo $layout; ?>

Spojíme všetko dokopy a získame nasledujúci kód:

<?php require 'connect.php'; $url = $_SERVER['REQUEST_URI']; preg_match('#/page/(\d+)#', $url, $match); $id = $match[1]; $query = "SELECT * FROM pages WHERE id=$id"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); $page = mysqli_fetch_assoc($res); $layout = file_get_contents('layout.php'); $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); echo $layout; ?>

Realizujte popísaný engine. Otestujte jeho činnosť.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť