รายละเอียดของการตอบ ::
ถ้าคุณจะทำ localization Database คุณต้องครอบคลุมมากกว่านี้ เสร็จแล้วค่อยทำ Function ซึ่งการสร้าง Database จะออกมาในรูปแบบ
ยกตัวอย่างเช่น
tb_Positions
id | sort_order | created_at | updated_at
tb_PositionLocales
id | position_id | locale enum['en','th'] | name
ซึ่งเป็นรูปแบบเดียวกับ
schema amazon หรือคุณจะใช้เทคนิค parent and child เช่น
tb_Positions
id | parent_id | parentage | locale enum['en','th] | name
1 0 parent Null Null
2 1 child en Boss
3 1 child th ผู้บริหาร
4 0 parent Null Null
5 4 child en Manager
6 4 child th ผู้จัดการ
#แต่ไม่ขอแนะนำสำหรับมือใหม่ เพราะมีความซับซ้อน
วิธีการดึง Localization
- เก็บการ action lang ตาม GET ที่ได้ครับมาลงใน Session
Code (PHP)
$_SESSION['language']=$_GET['language'];
- ทำ function ในการ query PositionLocale ตาม Session ที่ได้รับมาจาก GET
Code (PHP)
function locale_hasMany($id)
{
$sql = "SELECT * FROM tb_PositionLocales Where position_id="'.$id.'" AND locale="'.$SESSION['language'].'" ";
$query = mysqli_query($conn,$sql);
$result=mysqli_fetch_array($query,MYSQLI_ASSOC);
return $result['name'];
}