⊗ppPmSDDb 442 of 447 menu

Μηχανή βάσης δεδομένων σε PHP

Ας δημιουργήσουμε τώρα μια μηχανή ιστότοπου, στην οποία το περιεχόμενο των σελίδων δεν θα αποθηκεύεται σε αρχεία, αλλά σε μια βάση δεδομένων. Ας υποθέσουμε ότι έχουμε τον ακόλουθο πίνακα στη βάση δεδομένων:

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

Ας υποθέσουμε ότι θέλουμε να λαμβάνουμε τις σελίδες μας μέσω URLs της μορφής /page/1, όπου ο αριθμός θα αντιπροσωπεύει το id της σελίδας που θέλουμε να λάβουμε.

Ας ξεκινήσουμε την υλοποίηση. Αρχικά, σε ένα ξεχωριστό αρχείο θα δημιουργήσουμε μια σύνδεση με τη βάση δεδομένων και θα συμπεριλάβουμε αυτό το αρχείο στο δικό μας:

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

Ας λάβουμε το URL που ζητήθηκε:

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

Χρησιμοποιώντας μια κανονική έκφραση, θα χωρίσουμε το URL σε μέρη:

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

Ας αποθηκεύσουμε το id από την "τσέπη" σε μια μεταβλητή:

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

Ας εκτελέσουμε ένα ερώτημα στη βάση δεδομένων, λαμβάνοντας τη ζητούμενη σελίδα βάσει id:

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

Ας λάβουμε το αρχείο του προτύπου:

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

Στο αρχείο του προτύπου, θα πραγματοποιήσουμε την εισαγωγή του τίτλου και του περιεχομένου:

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

Ας στείλουμε τη συναρμολογημένη σελίδα του ιστότοπου στο πρόγραμμα περιήγησης:

<?php echo $layout; ?>

Ας τα βάλουμε όλα μαζί και θα λάβουμε τον ακόλουθο κώδικα:

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

Υλοποιήστε την περιγραφόμενη μηχανή. Ελέγξτε τη λειτουργία της.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη