PHP တွင် ဒေတာဘေ့စ်အခြေပြု အင်ဂျင်တစ်ခု

ယခု စာမျက်နှာများ၏အကြောင်းအရာများကို ဖိုင်များတွင်မဟုတ်ဘဲ ဒေတာဘေ့စ်ထဲတွင် သိမ်းဆည်းမည့် ဝဘ်ဆိုဒ်အင်ဂျင်တစ်ခုကို ပြုလုပ်ကြပါစို့။ ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်ထဲတွင် ဤကဲ့သို့ဇယားတစ်ခုရှိသည်ဆိုပါစို့။

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

ကျွန်ုပ်တို့သည် စာမျက်နှာများကို /page/1 ကဲ့သို့သော URL များဖြင့် ရယူလိုသည်ဆိုပါစို့။ ထိုနေရာရှိ ကိန်းဂဏန်းသည် ကျွန်ုပ်တို့ရယူလိုသော စာမျက်နှာ၏ id ကိုကိုယ်စားပြုပါလိမ့်မည်။

အကောင်အထည်ဖော်ခြင်းကို စတင်ကြပါစို့။ ပထမဦးစွာ သီးခြားဖိုင်တစ်ခုတွင် ဒေတာဘေ့စ်ချိတ်ဆက်ခြင်းကို ပြုလုပ်၍ ထိုဖိုင်ကို ကျွန်ုပ်တို့၏ဖိုင်နှင့် ချိတ်ဆက်ပါမည်။

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

တောင်းဆိုထားသော URL ကိုရယူပါမည်။

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

ရီဂျူလား အက်စ်ပရက်ရှင်းကို အသုံးပြု၍ URL ကို အပိုင်းများခွဲပါမည်။

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

ဂရပ်ပ် (capture group) မှ id ကို ကိန်းရှင်တွင်သိမ်းပါမည်။

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

ဒေတာဘေ့စ်သို့ မေးမြန်းချက်တစ်ခုကို လုပ်ဆောင်၍ id အရ တောင်းဆိုထားသောစာမျက်နှာကိုရယူပါမည်။

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

တမ်းပလိတ်ဖိုင်ကို ရယူပါမည်။

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

တမ်းပလိတ်ဖိုင်ထဲတွင် ခေါင်းစဉ်နှင့် အကြောင်းအရာထည့်သွင်းခြင်းကို လုပ်ဆောင်ပါမည်။

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

ဆောက်လုပ်ပြီးသား ဝဘ်စာမျက်နှာကို ဘရောက်ဇာသို့ ပို့ပါမည်။

index.php<?php
  echo $layout;
?>

အားလုံးကို စုစည်း၍ အောက်ပါကုဒ်ကိုရပါမည်။

index.php<?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;
?>
Задание 1

ဖော်ပြပါအင်ဂျင်ကို အကောင်အထည်ဖော်ပါ။ ၎င်း၏လုပ်ဆောင်ချက်ကို စမ်းသပ်ပါ။