⊗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>

ধরুন আমরা ফর্মের URL-এর মাধ্যমে আমাদের পৃষ্ঠাগুলি পেতে চাই /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štinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন