หน้า 1 จากทั้งหมด 3

แก้ไข ตาราง ใน mysql database ต้องทำอย่างไรครับ

โพสต์แล้ว: 22/12/2007 10:45 am
โดย miniloft
ปกติ ผมเคยทำแต่ html & css นิดหน่อยครับ
แต่ตอนนี้มาลองใช้ joomla ซึ่งผมไม่รู้เรื่อง php or อื่นๆเลยครับ

ผมมีปัญหาเกี่ยวกับการแสดงผล title บนหน้าเวป
ที่ถ้าเป็นภาษาไทย มันไม่สามารถแสดงผลได้ครบ เพราะสั้นเกินไป

เท่าที่ค้นข้อมูลดู มีคนบอกให้ไปแก้ไข database ตาราง ***_content
ฟิลด์ title จาก varchar(100) ให้เป็น varchar(255)
ถ้าต้องการเพิ่มมากนั้น ให้ปรับ varchar เป็น text หรือ blob แทน

แต่ผมแก้ตัว mysql ไม่เป็นครับ
ไม่รู้ว่าต้องลงโปรแกรมอะไร หรือใช้โปรแกรมอะไรเปิด
หาจากในตัว joomla ส่วน backend ก็ไม่มีนะครับ

ตอนนี้ยังทำเวปไซต์จากในเครื่องผม
โดยใช้ wampserver จำลองให้เครื่องทำงานแบบ server อยู่
ประกอบด้วย mysql 5.0.45, php 4.4.7, apache 2.0.61
โปรแกรมอื่นๆในเครื่อง มีแค่ notepad++ and openoffice ครับ

พยายาม search google แต่ไม่ตรงกับที่ต้องการครับ
ยังไงขอคำแนะนำด้วยครับ เข้าใจว่า basic มากๆ แต่ว่าหาข้อมูลไม่เจอจริงๆครับ
สงสัยมันอาจจะ basic เกินไป เลยไม่มีบอกเอาไว้

ขอบคุณครับ

โพสต์แล้ว: 22/12/2007 5:59 pm
โดย mindphp
อธิบายคำถามได้ ละเอียด ดีครับ
อย่างแรก ลองเช็ค ว่า มี phpmyadmin ในเครื่อง หรือ เปล่า
หรือถ้า upload ขึ้น host จริงๆ แล้วตัว phpmyadmin มีให้ใช้แน่นอนครับ
วิธีเช็ค คือ ลองเข้า localhost/phpmyadmin ดูครับ
ของ wampserver นี่น่าจะอยู่ แบบนั้นนะ :-D :-D

โพสต์แล้ว: 22/12/2007 7:01 pm
โดย miniloft
mindphp เขียน:อธิบายคำถามได้ ละเอียด ดีครับ
อย่างแรก ลองเช็ค ว่า มี phpmyadmin ในเครื่อง หรือ เปล่า
หรือถ้า upload ขึ้น host จริงๆ แล้วตัว phpmyadmin มีให้ใช้แน่นอนครับ
วิธีเช็ค คือ ลองเข้า localhost/phpmyadmin ดูครับ
ของ wampserver นี่น่าจะอยู่ แบบนั้นนะ :-D :-D
ขอบคุณครับ

ทดสอบดูแล้ว ขึ้นหน้าจอมา
(http://localhost/phpmyadmin/)
เดี๋ยวคืนนี้จะกลับมาลองแก้ครับ
แล้วจะมารายงานผลอีกครั้งครับ

โพสต์แล้ว: 22/12/2007 7:08 pm
โดย mindphp
ครับ ผม ถ้า ขึ้นมาแล้วก็ เลือก ฐานข้อมูล แล้วเลือก ตาราง ที่ต้องการ แก้ และ เลือก field ตามที่ตั้งกระทู้ ไว้ได้เลย

โพสต์แล้ว: 23/12/2007 7:46 am
โดย miniloft
หลังจากที่ผมแก้ตามข้อมูลข้างต้น ยังมีปัญหาอยู่ครับ รายละเอียดดังนี้

แรกสุด ผมได้เข้าที่ http://localhost/phpmyadmin/
แล้วไปแก้ที่ database ตาราง ***_content
นั่งหาตั้งนาน ว่าจะแก้ ฟิลด์ title จาก varchar(100) ให้เป็น varchar(255) ทำตรงไหน
หลังจากที่ผ่านขั้นตอนนี้แล้ว
ในหน้าปกติ เข้าใจว่าปัญหาภาษาไทยที่ title ได้หมดไป หรือถ้ามี ก็น่าจะน้อยลงมากๆ

แต่ว่าหน้าสินค้า กลับยังมีปัญหาครับ
เนื่องจากผมใช้ Joomla+virture mart ในเวป joomla corner, version ล่าสุดที่มี 1.0.13 ถ้าเข้าใจไม่ผิด
ไม่ได้เปลี่ยน encode ภาษาอะไรเลย เพราะทำไม่เป็น น่าจะเป็น UTF8 อยู่

คือหน้าสินค้า มีปัญหาการแสดง title ผิดพลาดอยู่
ทำให้ ie6 ไม่สามารถโหลดขึ้นมาได้ (แต่ firefox โหลดได้ แม้ว่า title ข้างบน จะมีไม่ครบก็ตาม)
หรือถ้าพยายามผลักดันให้มันโหลดขึ้นมา มันจะไม่สามารถแสดง ภาษาไทยได้ทั้งหน้าเลย
ไม่ว่าจะเปลี่ยน encode เป็นอะไรก็แล้วแต่
และเมื่อเปิดดู source code, ส่วนที่น่าจะเป็นภาษาไทย ก็ไม่ขึ้นภาษาไทยครับ ดังรูปข้างล่างครับ

http://images.torrentmove.com/iu/171untitled.png

ดังนั้น ผมจึงคิดว่า ควรจะต้องหาทางแก้ ความยาว title ของหน้าแสดงสินค้าด้วย
แต่ไม่ทราบว่าอยู่ที่ตรงไหน

ผมได้ลองเข้าไปที่ phpmyadmin แก้ที่ ***_vm_product
และเปลี่ยน product_name จาก varchar(64) ให้เป็น varchar(255)
ซึ่งคงเป็นการแก้ปัญหาผิดจุดครับ เพราะยังไม่สามารถแสดง title ได้ถูกต้อง

คำถามคือ
1 ผมควรจะแก้ไขปัญหานี้อย่างไร เพื่อให้หน้าแสดงสินค้า ของ virturemart สามารถแสดง title ได้ยาวยิ่งขึ้น
2 การให้ปรับ varchar เป็น text หรือ blob แทนนั้น มีผลกระทบอย่างไรต่อ server หรือไม่ และแต่ละค่า แตกต่างกันอย่างไรครับ ผมควรจะใช้อะไรดี

P.S. title ที่ผมใช้ลองในครั้งนี้ คือคำว่า "Brand's Calcium 600 + Soy Germ 60 Tabs แบรนด์ แคลเซียม" ครับ ซึ่งคำนี้ ถ้าใช้ใน virturemart จะแสดงได้ไม่ครบ คือถ้าใน firefox จะเห็นแค่ "Brand's Calcium 600 + Soy Germ 60 Tabs แบรนด[" ขาดตั้งแต่ตัวการันไป ส่วน ie6 เกิดปัญหาไม่แสดงผล ตามที่ได้อธิบายข้างต้นครับ

โพสต์แล้ว: 23/12/2007 8:41 am
โดย mindphp
ต้องออก ตัวก่อนนะครับ ผมยังไม่เคยใช้ Joomla+virture mart
การปรับ field ใช้แค่ varchar 255 ก็ พอแล้วครับ ( ลองเช็คค่าเก่าดูก่อน ว่าในฐานข้อมูล เก็บข้อมูลอะไรไว้ แล้ว encoding ของ database และ table เป็นอะไร )

โพสต์แล้ว: 23/12/2007 9:20 am
โดย miniloft
mindphp เขียน:ต้องออก ตัวก่อนนะครับ ผมยังไม่เคยใช้ Joomla+virture mart
การปรับ field ใช้แค่ varchar 255 ก็ พอแล้วครับ ( ลองเช็คค่าเก่าดูก่อน ว่าในฐานข้อมูล เก็บข้อมูลอะไรไว้ แล้ว encoding ของ database และ table เป็นอะไร )
อ้อครับ พอดีว่า ผมเห็นชื่อคุณตอบแวปๆใน forum joomlacorner
เลยเข้าใจผิด นึกว่าอาจจะเคยใช้น่ะครับ
ต้องขอโทษด้วยครับ

"encoding ของ database และ table เป็นอะไร" ดูยังไงเหรอครับ
แต่เท่าที่ไล่อ่านกระทู้มา ถ้าผมไม่ได้แก้อะไรเลย ตั้งแต่โหลดมา ตอนนี้เป็น UTF8 อยู่ครับ

ว่าแต่พอจะนึก keyword ที่ผมควรนำไป search ใน google ออกไหมครับ
ผม search อะไรไม่ค่อยเจอเลย ทั้งๆที่หาแบบ eng ทั้งนั้น
สงสัยใช้คำไม่ค่อยถูกน่ะครับ

ถ้าต้องแก้โดยการ ตัด title สินค้าให้สั้นลง คิดว่าคงมีปัญหากับผู้ซื้อ และคงทำให้ลูกค้าหายไปพอสมควรเมื่อเทียบกับเวปคู่แข่ง เลยถือว่าเป็นปัญหาใหญ่ของผมเลยครับ ตรงจุดนี้

นอกจากว่า จะไม่ให้แสดง title ใดๆเลย ซึ่งก็คิดว่าจะมีผลต่อ SEO อีก เดี๋ยว search engine จะหาไม่เจอ แต่วิธีนี้คงต้องใช้ ถ้าแก้ไม่ได้จริงๆน่ะครับ

โพสต์แล้ว: 23/12/2007 9:42 am
โดย mindphp
search แล้วหาข้อมูลเป็น อังกฤษ คงไม่เหมาะ น่ะครับ ปัญหา มันไม่ได้เป็น ปัญหาสากล
วิธีดู ก็ ดู ที่ phpmyadmin น่ะครับ คิดว่า คงเป็นปัญหาเพราะ เวอร์ชั่นของ ฐานข้อมูล

โพสต์แล้ว: 23/12/2007 10:51 am
โดย miniloft
mindphp เขียน:search แล้วหาข้อมูลเป็น อังกฤษ คงไม่เหมาะ น่ะครับ ปัญหา มันไม่ได้เป็น ปัญหาสากล
วิธีดู ก็ ดู ที่ phpmyadmin น่ะครับ คิดว่า คงเป็นปัญหาเพราะ เวอร์ชั่นของ ฐานข้อมูล
ครับ ถ้ายังงั้นเดี๋ยวลองหา ภาษาไทยอีกทีครับ

ส่วน version ไม่แน่ใจว่าตามรูปนี้รึป่าวครับ

http://img89.imageshack.us/img89/7204/asfadspb8.png

ถ้าใช่ก็รบกวนดูให้นิดนะครับ ว่ามันมีปัญหาอะไรหรือไม่

โพสต์แล้ว: 23/12/2007 10:59 am
โดย miniloft
สงสัยจะเข้าใจผิดครับ
เพราะเปิดไปมา เจอคำว่า Collation ของฐานข้อมูลผม เป็น latin1_swedish_ci ครับ

รูป Show MySQL system variables
http://img81.imageshack.us/img81/1369/z01jz0.png

รูป Databases
http://img147.imageshack.us/img147/2883/z02ai6.png

แบบนี้แสดงว่าผมต้องเปลี่ยนแปลงอะไรรึป่าวครับ

ขอบคุณครับ