PHP တွင် ဒေတာဘေ့စ်အခြေပြု အင်ဂျင်တစ်ခု
ယခု စာမျက်နှာများ၏အကြောင်းအရာများကို ဖိုင်များတွင်မဟုတ်ဘဲ ဒေတာဘေ့စ်ထဲတွင် သိမ်းဆည်းမည့် ဝဘ်ဆိုဒ်အင်ဂျင်တစ်ခုကို ပြုလုပ်ကြပါစို့။ ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်ထဲတွင် ဤကဲ့သို့ဇယားတစ်ခုရှိသည်ဆိုပါစို့။
| id | title | content |
|---|---|---|
| 1 | title1 | <div> content1 </div> |
| 2 | title2 | <div> content2 </div> |
| 3 | title3 | <div> content3 </div> |
ကျွန်ုပ်တို့သည် စာမျက်နှာများကို /page/1 ကဲ့သို့သော
URL များဖြင့် ရယူလိုသည်ဆိုပါစို့။
ထိုနေရာရှိ ကိန်းဂဏန်းသည် ကျွန်ုပ်တို့ရယူလိုသော
စာမျက်နှာ၏ id ကိုကိုယ်စားပြုပါလိမ့်မည်။
အကောင်အထည်ဖော်ခြင်းကို စတင်ကြပါစို့။ ပထမဦးစွာ သီးခြားဖိုင်တစ်ခုတွင် ဒေတာဘေ့စ်ချိတ်ဆက်ခြင်းကို ပြုလုပ်၍ ထိုဖိုင်ကို ကျွန်ုပ်တို့၏ဖိုင်နှင့် ချိတ်ဆက်ပါမည်။
<?php
$link = require 'connect.php';
?>
တောင်းဆိုထားသော URL ကိုရယူပါမည်။
<?php
$url = $_SERVER['REQUEST_URI'];
?>
ရီဂျူလား အက်စ်ပရက်ရှင်းကို အသုံးပြု၍ URL ကို အပိုင်းများခွဲပါမည်။
<?php
preg_match('#/page/(\d+)#', $url, $match);
?>
ဂရပ်ပ် (capture group) မှ 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;
?>
ဖော်ပြပါအင်ဂျင်ကို အကောင်အထည်ဖော်ပါ။ ၎င်း၏လုပ်ဆောင်ချက်ကို စမ်းသပ်ပါ။