Page 1 of 1

สอบถาม เรื่อง phpbb เพิ่มฟิลด์ข้อมูลเวลา ลงทะเบียน

Posted: 29/05/2007 3:30 pm
by joeybas
ต้องขออนุญาตบอกว่าผมไม่มีความรู้ด้าน php เลยครับ แต่ก็จะพยายามให้มากที่สุดครับ

คือผมจะแก้ไขบอร์ดภายในให้กับ บริษัทครับ เพราะสมาชิกที่มาสมัครมักไม่แสดงตัวตนที่แท้จริง ก็เลยมีปัญหาเวลาโพสข้อความต่าง ๆ ครับ

ผมจึงอยากจะเพิ่มฟิลด์ให้เวลาที่ ลงทะเบียน มีฟิลด์ เพิ่มขึ้น เช่น ฟิลด์ตำแหน่งงาน กับ ฟิลด์ชื่อจริง
ขึ้นมาครับ โดยที่ 2 ฟิลด์ที่เพิ่มขึ้นมานั้น มีคุณสมบัติเหมือน ฟิลด์ username ครับ คือต้องใส่ทุกครั้งเวลาลงทะเบียนและไม่อนุญาตให้สมาชิกแก้ไขได้

ตอนนี้
ผมเพิ่มฟิลด์ ใน /profile_add_body.tpl ได้แล้ว,
กำหนดค่าตัวแปรของชื่อ ฟิลด์เป็นภาษาไทยได้แล้ว /lang_main.php ,
กำหนดไม่ให้เป็นช่องว่างได้แล้ว /usercp_register.php,

แต่ ยังไม่สามารถ บันทึกข้อมูลที่เก็บไว้ในฐานข้อมูล ของ user คนนั้น ๆ ได้ครับไม่ทราบว่ามาจะต้องไปแก้ไขหรือว่าเริ่มต้นอย่างไร

และผมจะเอาฟิลด์ข้อมูลที่เพิ่มไปเมื่อตะกี้ของ user คนนั้นมาโชว์ ที่ใต้ avartar (แบบด้านซ้านมือ ที่มี ชื่อ username มี Rank มีวันที่เข้าร่วม จำนวนการตอบ) ไม่ทราบว่าต้องทำอย่างไรครับ

ขอขอบคุณมากครับ

Posted: 29/05/2007 6:31 pm
by mindphp
ยัง ไม่ได้ เปิด โค้ด ดู นะครับ แต่ ลอง ดูที่ คำสั่ง sql ที่ insert into ...
ส่วนเรื่อง เอามาโชว์ ทำ ส่วน ที่เพิ่มข้อมูล เข้าไปให้ได้ ก่อน ครับ
ปล. ต้องแก้ไข ตาราง กับ phpmyadmin ก่อนนะครับ

Posted: 30/05/2007 2:02 am
by Kobsoft
อ่อ แนวคิดนะคับ หลังจากที่เพิ่มฟิลด์ 2 ฟิลด์ที่คุณ joeybas ต้องการแล้วคือ (สมมุติเป็น) Position และ Fullname ถ้าไม่เป็น php จริงๆ ผมแนะนำว่าให้เพิ่มหรือเขียน คำสั่ง input เพื่อรับค่าของ 2 ฟิลด์นี้เพิ่ม และไปดูในส่วนของการทำงานระบบ Register ให้ Find หรือค้นหาคำสั่ง INSERT INTO ให้เจอคับ ถ้าระบบ bbphp ที่คุณเอามาใช้เขาเขียนระบบไม่สาหัสเกินไป คำสั่งนี้มันก็จะอยู่ในรูปแบบที่ง่ายๆ ก็คือ

sql = ("INSERT INTO ชื่อตาราง (ชื่อฟิลด์1, ชื่อฟิลด์2, ชื่อฟิลด์3, )
VALUES ('ค่าที่ต้องการใสให้ฟิลด์1', 'ค่าที่ต้องการใสให้ฟิลด์2', 'ค่าที่ต้องการใสให้ฟิลด์3') )";

เมื่อคุณหาคำสั่งนี้เจอก็ให้ไปเพิ่มฟิลด์ที่ต้องการลงไป 2 ฟิลด์ และค่าที่ต้องการใส่ก็ดึงจากชื่อตัวแปร input ที่รับเข้ามาผ่านฟอร์มคับ

สำหรับการเรียกแสดง ตำแหน่ง Position และ ชื่อจริง Fullname นั้น แนะนำให้คุณค้นหาคำสั่ง SELECT * FROM ครับ แล้วดูว่าเขาเขียนระบบการดึงข้อมูลจาก database อย่างไร ( ที่ผมแนะนำให้ดูคำสั่งนี้ เพราะ programmer หลายคน ต่างมีเทคนิคการเขียนดึงข้อมูลแตกต่างกัน บางคนสดมากอาจใม่ใช้คำสั่ง SELECT แต่ก็สามารถดึงข้อมูลจาก database ได้ด้วยวิธีอื่น) ผมจึงอยากให้ ลองศึกษาขั้นตอนการดึงข้อมูลดูครับ ไม่ยากมาก หากมีทักษะด้านโปรแกรมมิ่งนิดเดียว ก็รู้ได้ง่ายๆ แล้ว เมื่อศึกษาดูจะพบว่า วิธีการดึงข้อมูลนั้นเขาใช้ Array หรือ การวน Loop เทคนิคดีๆ คือให้คุณ Find หาชื่อฟิลด์ที่หน้านั้นเรียกมาแสดงผลสักฟิลด์ แล้วคุณจะรู้ว่าคำสั่งเรียกฟิลด์นั้นมาแสดงคือคำสั่งใด จากนั้นก็ให้คุณใช้คำสั่งเดิมแต่เปลี่ยนชื่อฟิลด์เป็นฟิลด์ที่คุณเพิ่มลงฐานข้อมูลใหม่อีก 2 ฟิลด์คับ คือ Position หรือ Fullname ประมาณนี้

หวังว่าผมคงอธิบายไม่งงเกินไปนะคับ ^ ^"

Posted: 31/05/2007 1:57 am
by joeybas
งงครับ แต่ผมจะค่อย ๆ ทดลองไปเรื่อย ๆ ยังไงก็ขอบคุณมาก ๆ ครับที่เป็นไกด์ให้ ซึ้งน้ำใจ :cry: :cry: ทั้ง 2 คนเลยครับ

หากมีปัญหาผมจะมา รบกวน โพสถามใหม่ จะได้ไหนครับ

Posted: 31/05/2007 2:57 am
by mindphp
ยินดีครับ ทำไปถึงไหน แล้ว เอามาโพส ก็ ได้ นะครับ จะได้ ช่วยกัน ดู