สอบถามครับ ถ้าผมจะเพิ่มในส่วน table inventory ที่มีอยู่ใน Databa หน้าหลักเว็บบอร์ดทั่วไปสอบถามครับ ถ้าผมจะเพิ่มในส่วน table inventory ที่มีอยู่ใน Databa Supachai Soontornchuen ถ้าผมต้องการให้เพิ่ม Equipment โดยเป็นการคีย์in และให้มีการแสดงผลในหน้านั้น เป็นเมนูเพิ่ม จะต้องทำอย่างไรบ้างครับ ขอบคุณครับ กรกฎ วิริยะ ไม่ค่อยเข้าใจคำถาม ต้องการเพิ่มเมนู module/index/models/menu ต้องการเพิ่มฟิลด์ หน้าฟอร์ม module/repair/views/receive หน้าบันทึก module/repair/models/receive Supachai Soontornchuen กรกฎ วิริยะ มีความรู้พื้นฐาน MVC และ PHP หรือเปล่าครับ ถ้ามีผมแนะนำตามนี้ 1.เพิ่มเมนูที่หน้า module/index/models/menu เลยครับ 2.ส่วนการเพิ่มหน้า แนะนำให้ดูหน้าที่คล้ายๆกัน แล้วสร้างเลียนแบบเลย ซึ่งหน้าที่ตรงกันมากที่สุดคือหน้า รับงานซ่อมซึ่ง url คือ module=repair-receive หมายความว่า โมดูลคือ repair และหน้าคือ receive ซี่งไฟล์ที่เกี่ยวข้องคือ module/repair/models/receive, module/repair/views/receive, module/repair/controllers/receive น่าจะเดาได้นะครับ 3.ทำการสำเนาไฟล์และเปลี่ยนชื่อเปลี่ยนคลาส ถ้าทุกอย่างถูกต้อง ต้องเรียกหน้าเว็บได้ 4.หลังจากนั้นก็ให้แก้ไขโค้ดในนั้นให้เป็นไปตามที่ต้องการ ซึ่งทุกอย่างที่จำเป็นก็อยู่ในโค้ดทั้งหมดแล้ว แค่ต้องใช้ความรู้ PHP ครับ Supachai Soontornchuen ขอบคุณมากครับ สำหรับแนวทางจะลองแกะดูครับ กำลังสนใจด้าน php อยู่ครับ ยังไม่รู้ไม่มากครับ Supachai Soontornchuen ทำตามความแนะนำแล้วครับ สอบถามเพิ่มเติมครับ เราปรับ Layout หน้าเวปต้องไปที่ไหนครับ กรกฎ วิริยะ เยิ่ยมครับ ดูจากรูปน่าจะเขียนผิดนิดหน่อย // equipment $fieldset[/b]->add('text', array( 'id' => 'equipment', 'labelClass' => 'g-input icon-edit', 'itemClass' => '[b]item', 'label' => '{LNG_Equipment}', 'placeholder' => '{LNG_The name of the repairs, eg Computers}', 'maxlength' => 64, 'value' => $index->equipment )); ทั้งสองตัวเลยนะครับ แก้ไขคล้ายๆกัน และก่อนปุ่ม submit ต้องมี $fieldset = $form->add('fieldset', array( 'class' => 'submit' )); Supachai Soontornchuen ขอบคุณมากครับ ขออนุญาติสอบถามเพิ่มเติมหน่อยนะครับถ้าเราต้องการเพิ่มให้มีการเลือกภาพมาโชว์เราต้องเพิ่มตัวแปรและเขียนcodeอะไรเพิ่มเติมบ้างครับ กรกฎ วิริยะ เปลี่ยนจาก add('text' .... เป็น add('file' ... ครับ หรือถ้าจะแสดงตัวอย่างรูปด้วยลองดูโค้ดนี้ https://github.com/...admin/write.php#L124 ส่วนการรับค่า จะรับค่าด้วยวิธีปกติจาก $_FILES ก็ได้ หรือถ้าจะใช้ตามข้อกำหนดของ Kotchasan ก็ https://github.com/...admin/write.php#L101 Supachai Soontornchuen ขอบคุณมากครับ Supachai Soontornchuen สอบถามครับเพิ่มเติมครับ ถ้าเราต้องการให้ส่วนของรูปที่เราบันทึก ไปแสดงในตัว list ด้วยต้องทำอย่างไรบ้างครับ Supachai Soontornchuen ทำการกด Edit แล้วไม่แสดง id ที่เลือกมาแก้ไข ขึ้น Error ครับ กรกฎ วิริยะ การแสดงข้อมูลในตาราง มีการตั้งค่าที่ DataTable ครับ คำอธิบายเกี่ยวกับคำสั่งต่างๆมีอยู่ในโค้ด ลองเทียบแล้วปรับแต่งดู และลองเทียบกับไฟล์อื่นๆที่แสดงข้อมูลในตารางดูด้วยก็ได้ การแสดงผลของตาราง จะแสดงอะไรบ้างขึ้นกับ ข้อมูลที่ส่งให้ DataTable https://github.com/.../views/setup.php#L62 https://github.com/...models/setup.php#L30 ถ้าไม่มีการ Query ข้อมูลออกมาก็ไม่สามารถแสดงผลได้ ส่วนการแสดงผลข้อมูลในตาราง https://github.com/...views/setup.php#L194 ลอง print_r($item) ดูจะเห็นว่ามีข้อมูลอะไรส่งมาบ้าง และอยากแก้ไขอะไรก็แก้ไขเอา กรกฎ วิริยะ อ้างอิงจาก ความคิดเห็น #11ทำการกด Edit แล้วไม่แสดง id ที่เลือกมาแก้ไข ขึ้น Error ครับ อ่าน Error ไม่ออก แต่พอเดาได้ว่ามันไม่พบตัวแปรที่ว่า ที่ไม่พบก็เพราะไม่ได้ Query ออกมา ทางแก้คือ Query ออกมาก่อน อยากรู้ว่ามีอะไรส่งมาบ้างก้ print_r ดู ผมไม่บอกว่าที่ไหนนะ แนะนำให้ลองหาดูเป็นการเพิ่มทักษะไปในตัว Supachai Soontornchuen ขอบคุณครับสำหรับคำแนะนำ Supachai Soontornchuen ถ้าบันทึกแล้วส่วนของรูปจะถูกบันทึกในฐานข้อมูลใช่ไหมครับ แต่ถ้ามันไม่ได้ถูกบันทึกเราสามารถเช็คอย่างไรได้บ้างครับ ขอบคุณครับ กรกฎ วิริยะ อ้างอิงจาก ความคิดเห็น #15ถ้าบันทึกแล้วส่วนของรูปจะถูกบันทึกในฐานข้อมูลใช่ไหมครับ แต่ถ้ามันไม่ได้ถูกบันทึกเราสามารถเช็คอย่างไรได้บ้างครับ ขอบคุณครับ ไม่เข้าใจคำถาม ปกติแล้วถ้าบันทึกไม่ได้ระบบจะแจ้งเตือน ส่วนถ้าบันทึกไปแล้ว ลองเข้าไปดูที่ฐานข้อมูลว่ามันบันทึกอะไรดู Pae Casper ผมพยายามสร้างเมนูใหม่ แต่ติดปัญหาครับ 1. ผมสร้าง menu เพิ่มใน modules\index\models\menu เรียบร้อยครับ 2. Copy receive.php มาเป็น car.php (ใส่ไว้ใน index ไม่ใช่ repair) ครบ MVC และแก้ไขชื่อและ path เรียบร้อยครับ ปัญหาคือ จากรูปเวลาผมกดเลือก sub-menu ใน Cars ขึ้นมาแสดงได้เรียบร้อย แต่ที่ menu bar มันดันไป highlight เมนู "Repair Jobs" ครับ ไม่แน่ใจว่าเป็นเพราะอะไรครับ ปล. ผม copy receive.php จาก repair ไปใช้ที่ index จะมีปัญหาอะไรไหมครับ ที่ต้องทำแบบนี้เพราะอีก sub-menu ผมใช้ต้นฉบับจาก member.php ครับ ขอบคุณครับ กรกฎ วิริยะ // เลือกเมนู $this->menu = 'xxx'; ตัวแปรนี้อยู่ใน controller ครับ xxx คือชื่อคลาสของเมนูบนสุดที่ต้องการจะทำ highlight ครับ ลองเอาเมาส์ไปชี้ดูว่ามันมีคลาสอะไร นำมาแทนที่ xxx ถ้าดูตัวอย่างจากโค้ด ตอนสร้างเมนู Repair Jobs ชื่อคลาสคือ repair $menu->addTopLvlMenu('repair', '{LNG_Repair Jobs}', null, $submenus, 'member'); เวลาจะทำ highlight เมนูนี้ก็จะกำหนด // เลือกเมนู $this->menu = 'repair'; ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg, png ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
ต้องการเพิ่มเมนู module/index/models/menu
ต้องการเพิ่มฟิลด์ หน้าฟอร์ม module/repair/views/receive
หน้าบันทึก module/repair/models/receive
1.เพิ่มเมนูที่หน้า module/index/models/menu เลยครับ
2.ส่วนการเพิ่มหน้า แนะนำให้ดูหน้าที่คล้ายๆกัน แล้วสร้างเลียนแบบเลย ซึ่งหน้าที่ตรงกันมากที่สุดคือหน้า รับงานซ่อมซึ่ง url คือ module=repair-receive หมายความว่า โมดูลคือ repair และหน้าคือ receive ซี่งไฟล์ที่เกี่ยวข้องคือ module/repair/models/receive, module/repair/views/receive, module/repair/controllers/receive น่าจะเดาได้นะครับ
3.ทำการสำเนาไฟล์และเปลี่ยนชื่อเปลี่ยนคลาส ถ้าทุกอย่างถูกต้อง ต้องเรียกหน้าเว็บได้
4.หลังจากนั้นก็ให้แก้ไขโค้ดในนั้นให้เป็นไปตามที่ต้องการ ซึ่งทุกอย่างที่จำเป็นก็อยู่ในโค้ดทั้งหมดแล้ว แค่ต้องใช้ความรู้ PHP ครับ
$fieldset[/b]->add('text', array(
'id' => 'equipment',
'labelClass' => 'g-input icon-edit',
'itemClass' => '[b]item',
'label' => '{LNG_Equipment}',
'placeholder' => '{LNG_The name of the repairs, eg Computers}',
'maxlength' => 64,
'value' => $index->equipment
));
ทั้งสองตัวเลยนะครับ แก้ไขคล้ายๆกัน
และก่อนปุ่ม submit ต้องมี
'class' => 'submit'
));
ส่วนการรับค่า จะรับค่าด้วยวิธีปกติจาก $_FILES ก็ได้ หรือถ้าจะใช้ตามข้อกำหนดของ Kotchasan ก็ https://github.com/...admin/write.php#L101
การแสดงผลของตาราง จะแสดงอะไรบ้างขึ้นกับ ข้อมูลที่ส่งให้ DataTable https://github.com/.../views/setup.php#L62
https://github.com/...models/setup.php#L30
ถ้าไม่มีการ Query ข้อมูลออกมาก็ไม่สามารถแสดงผลได้
ส่วนการแสดงผลข้อมูลในตาราง https://github.com/...views/setup.php#L194 ลอง print_r($item) ดูจะเห็นว่ามีข้อมูลอะไรส่งมาบ้าง และอยากแก้ไขอะไรก็แก้ไขเอา
อ่าน Error ไม่ออก แต่พอเดาได้ว่ามันไม่พบตัวแปรที่ว่า ที่ไม่พบก็เพราะไม่ได้ Query ออกมา ทางแก้คือ Query ออกมาก่อน อยากรู้ว่ามีอะไรส่งมาบ้างก้ print_r ดู
ผมไม่บอกว่าที่ไหนนะ แนะนำให้ลองหาดูเป็นการเพิ่มทักษะไปในตัว
ไม่เข้าใจคำถาม
ปกติแล้วถ้าบันทึกไม่ได้ระบบจะแจ้งเตือน
ส่วนถ้าบันทึกไปแล้ว ลองเข้าไปดูที่ฐานข้อมูลว่ามันบันทึกอะไรดู
1. ผมสร้าง menu เพิ่มใน modules\index\models\menu เรียบร้อยครับ
2. Copy receive.php มาเป็น car.php (ใส่ไว้ใน index ไม่ใช่ repair) ครบ MVC และแก้ไขชื่อและ path เรียบร้อยครับ
ปัญหาคือ จากรูปเวลาผมกดเลือก sub-menu ใน Cars ขึ้นมาแสดงได้เรียบร้อย แต่ที่ menu bar มันดันไป highlight เมนู "Repair Jobs" ครับ
ไม่แน่ใจว่าเป็นเพราะอะไรครับ
ปล. ผม copy receive.php จาก repair ไปใช้ที่ index จะมีปัญหาอะไรไหมครับ ที่ต้องทำแบบนี้เพราะอีก sub-menu ผมใช้ต้นฉบับจาก member.php ครับ
ขอบคุณครับ
$this->menu = 'xxx';
ตัวแปรนี้อยู่ใน controller ครับ
xxx คือชื่อคลาสของเมนูบนสุดที่ต้องการจะทำ highlight ครับ ลองเอาเมาส์ไปชี้ดูว่ามันมีคลาสอะไร นำมาแทนที่ xxx
ถ้าดูตัวอย่างจากโค้ด ตอนสร้างเมนู Repair Jobs ชื่อคลาสคือ repair
เวลาจะทำ highlight เมนูนี้ก็จะกำหนด
$this->menu = 'repair';