⊗ppPmSDDb 442 of 447 menu

Motor pe bază de date în PHP

Să facem acum un motor de site în care conținutul paginilor va fi stocat nu în fișiere, ci într-o bază de date. Să presupunem că în baza de date avem următorul tabel:

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

Să presupunem că vrem să obținem paginile noastre prin URL-uri de tipul /page/1, unde numărul va reprezenta id-ul paginii pe care vrem să o obținem.

Să începem implementarea. Pentru început, într-un fișier separat vom face conexiunea la baza de date și vom conecta acest fișier la al nostru:

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

Să obținem URL-ul solicitat:

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

Cu ajutorul expresiei regulate vom împărți URL-ul în părți:

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

Să scriem id-ul din grupul de captură într-o variabilă:

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

Să executăm interogarea în baza de date, după id obținând pagina solicitată:

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

Să obținem fișierul șablon:

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

În fișierul șablon vom efectua inserarea titlului și a conținutului:

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

Vom trimite pagina site-ului asamblată în browser:

<?php echo $layout; ?>

Să adunăm totul împreună și vom obține următorul cod:

<?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; ?>

Implementați motorul descris. Verificați funcționarea acestuia.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge