แนวทางออกแบบฐานข้อมูล 2 ภาษา จริงๆ กี่ภาษาก็ได้

วันที่ลง : 21/09/2012 02:58:47   แชร์ :

แนวทางออกแบบฐานข้อมูล 2 ภาษา จริงๆ กี่ภาษาก็ได้

ไม่ขอพูดการวางหน้าเว็บ จะแยก folder ทำ subdomain หรือจะไฟล์เดียวกันแล้วดักค่าตัวแปรเพื่อเปลี่ยนภาษา แล้วแต่เลย
จะพูดถึงการออกแบบฐานข้อมูล ซึ่งไม่ได้ยากอะไรแต่มีคนถามมา
 
สมมุติว่า กำลังจะใส่สินค้าเพิ่ม มี 2 ภาษา  โดยมี ชื่อสินค้า  รหัสสินค้า และราคา แค่นี้พอ ขี้เกียจพิมพ์เยอะ
ตั้งชื่อ table ว่า product  โดยมี field ดังนี้
- productid  <== อันนี้เป็น autonumber
- languageid   <== จะ relate กับ  table language ก็ได้ แล้วแต่จะทำ
- productname
- productcode
- productprice
 
เวลาเพิ่มสินค้า สมมุติว่ามี ช่องกรอกชื่อสินค้า 2 ช่อง  ช่องแรกไทย ช่อง 2 อังกฤษ
เขียนโค้ดให้ลง 2 record  โดย record แรก languageid=1  record ที่2  languageid=2
หมายเหตุ : langagueid1 คือไทย  2 คืออังกฤษ นะ
อ้าวไหนโค้ดล่ะ ? โค้ดไม่มีเขียนเองนะ  แค่ loop   (ไม่มีให้หรอก ก็นี่เว็บผมอะ)
 
 จะมี 5 ภาษาก็ยังไหว
 
เวลาใช้งานหน้าเว็บให้ดักค่า session เช่น ถ้า $_SESSION['language'] ว่าง ให้ $_SESSION['language']=1
เวลาเปลี่ยนภาษา ก็ส่ง link ไปหน้าหนึ่งสมมุติชื่อ changelang.php ส่งตัวแปรชื่อ languageid ไป
<a href="changelang.php?languagid=2>เปลี่ยนเป็น eng</a>
 
หน้า changelang ก็รับค่า languageid มาใส่ใน $_SESSION['language']  เป็น
$_SESSION['language']=languageid;
แล้วก็ redirect กลับไปหน้าเดิม จะใช้ meta-refresh ก็ได้ url ของหน้าที่ส่งมาใช้  $_SERVER['HTTP_REFERER'];
 
 เวลาเรียก query ก็  select * from product where productcode='$productcode' and languageid='$_SESSION[language]'  ก็จะดึงแต่ภาษานั้นๆ ออกมา
สังเกตดีๆ ว่า where ที่ productcode ไม่ใช่ productid เนื่องจาก สินค้าเดียวกันถ้าใช้ productid เลขจะไม่ตรงกัน  เพราะฉะนั้น productocde จะซ้ำกันในฐานข้อมูล ไม่ต้องงง เราแยกมันด้วย languageid แล้ว เวลาแสดงจะขึ้นแค่สินค้าภาษานั้นๆ
 
 บางคนทำแบบเพิ่ม field   1 field 1 ภาษา ก็ได้  แต่แบบนี้จะทำ dynamic ได้ด้วย สะดวกกว่า ไม่ต้องไปแก้โค้ดเปลี่ยนชื่อ field
 
งงไหม : ไม่ค่อยมีโค้ด บอกแล้วแนวทาง


บทความก่อนหน้า
แนะนำ Popup clearbox แบบที่ใช้ในเว็บเรา เป็น jQuery
บทความต่อไป
วิธีเก็บรายการสั่งซื้อสินค้าที่ถูกต้อง ทำเป็นเล่นทำผิดกันเยอะ

บทความสงวนลิขสิทธิ์นะ กรุณาอย่า copy ไปแปะ มันไม่ดีต่อความรู้สึก
คุณสามารถเปิดหน้านี้ได้ง่ายๆ ไม่ต้องพิมพ์เอง ด้วยการใช้โปรแกรม QR Reader เพียงสแกนผ่านมือถือหรือ Tablet สแกนไปยัง QR Code

Google Search Ranking

ตรวจสอบอันดับเว็บใน Google เว็บคุณอยู่อันดับไหน ด้วย keywordที่กำหนด

ค้นจาก

Website

Keyword


PHP Captcha Pro 1.0


PHP Code captcha เวอร์ชั่น Pro สุ่มได้ภาษาอังกฤษ ไทย และตัวเลข เลือกสุ่มเฉพาะอย่างได้ สุ่มสีตัวอักษร สุ่มสี background กำหนดความกว้างสูงรูป กำหนดจำนวนตัวอักษรที่สุ่ม เปลี่ยน font ได้ สามารถ Refresh ภาพ โดยไม่ต้อง refresh ทั้งหน้า
จำหน่าย 300 บาท   ดูรายละเอียดเพิ่มเติม
ตัวอย่าง 1
ตัวอย่าง 2

Thaiquick.com

เว็บโฮสติ้ง 500 mb. เริ่มต้นปีละ 1,000 บาท วางกสท Direct admin ลง Linux Centos รองรับ PHP , Mysql บริหารโดยทีมงาน PHPThai.com   www.Thaiquick.com

Responsive Test

Responsive Test จำลองการทดสอบเปิด Web ขนาดหลายหน้าจอ PC กว้างไม่เท่ากัน เปิดบนมือถือหน้าตาอย่างไร ลองทดสอบดู







 
 

↑ Go top