บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ CodeIgniter

PHP Object การเรียกใช้ตัวแปรแบบ Dynamic คล้าย eval ใน javascript

บทความเกี่ยวกับ : PHP Object การเรียกใช้ตัวแปรแบบ Dynamic PHP Object การเรียกใช้ตัวแปรแบบ Dynamic ในบางงานที่จำเป็นต้องใช้การเข้าถึงตัวแปร  แบบที่ไม่ได้ระบุชื่อตัวแปรชัดเจน  ตัวอย่างเช่น  ใน code เรามีตัวแปรอยู่ ประมาณนี้ $data1; $data2 ตอนเราเรียกใช้ ถ้าเรารับชื่อตัวแปรมาเป็น parameter เช่น $val="data1"; หากเราต้องการเข้าถึงตัวแปร "data1" สามารถทำได้ง่ายๆแบบนี้ $$val;  ตามนี้จะเป็นการใช้งาน ตัวแปรของ value ของ $val อีกที ฟังแล้วเริ่มงง  มันก็คล้ายๆ กับ eval ใน java script แหละครับ ทีนี้เข้าเรื่อง แล้วถ้าเกิดว่ามันเป็น Object ล่ะจะทำไง เช่น $obj->data1; $obj->data2; เราจะเข้าถึงแบบ dynamic ได้ยังไง คำตอบคือง่ายๆ แบบนี้เลยครับ $obj->$val; ตามนั้น

เขียน Codeigniter แนะนำให้ใช้ site_url เพื่อแก้ปัญหาเรื่อง Path

คำถามเกี่ยวกับ :เขียน Codeigniter แนะนำให้ใช้ site_url เพื่อแก้ปัญหาเรื่อง Path      การเขียน Web Programming หนีไม่พ้นเรื่องของ HTML กับการใช้งานไฟล์ประกอบไม่ว่าจะเป็น javascript ,css  , รูปภาพต่างๆ หรือ การ include , import  PHP ด้วยกัน อะไรเหล่านี้ย่อมจะต้องอ้างอิงด้วย Path และ ชื่อไฟล์  แต่ก่อนถ้าเราเขียนดวย PHP ปรกติ ก็เรียกใช้ได้เลยดูเอาว่ายึดตามไฟล์ PHP ที่จะใช้เป็นหลักถ้าอยู่ใน Sub เดียวกันก็ใช้ได้เลย แต่ถ้าอยู่ซ้อนเข้าไปใน folder ก็ว่ากันไปตามเรื่อง ซึ่งเหล่านี้หลายท่านคงจะพอรู้กันดี      แต่พอหันมาใช้ Framework มันก็เหมือนเป็นดาบสองคมเรื่องที่ยากๆ ช่วยให้เราง่ายขึ้นแต่บางทีเรื่องที่เราเคยทำง่ายๆ แต่ถ้าไม่รู้วิธีใช้ใน framework ก็จะกลายเป็นเรื่องยากทันที       ยกตัวอย่าง เรื่องการ แทรกรูปลงใน HTML เรื่องหมูๆสำหรับทุกคน แต่พอมาใช้ Framework มัน Mapping ผ่าน View ผ่าน controller ที่บางที แค่ เครื่องหมาย  / ตัวเดียวทำให้ Path ไฟล์หาไม่เจอ ทางแก้ไม่ยากสำกรับ Codeigniter เพียงแค่หมั่นใช้ ...

PHP Date time ตัวอย่างการสร้างตัวแปร Date time และการนำไปใช้

บทความเกี่ยวกับ : PHP Date time ตัวอย่างการสร้างตัวแปร Date time และการนำไปใช้ วันนี้จะนำเสนอตัวอย่างการใช้งาน Date time ใน PHP ครับ โจทย์มีอยู่ว่าผมต้องการ get วันที่และเวลาปัจจุบันเอามา save ลง data base $create_date=date("Y-m-d H:i:s"); ตามนี้เลยครับ เวลาเอาไปใช้ เช่นใน SQL command ถ้าเป็น MySQL ก็เอาไปใช้ได้เลยเช่น insert into mytable (code_id ,create_dtm) value(0,$create_date) ประมาณนี้แหละครับ

Codeigniter MVC แนวคิดและจุดสำคัญที่รู้แล้วหากินได้

บทความเกี่ยวกับ : Codeigniter MVC แนวคิดและจุดสำคัญที่รู้แล้วหากินได้ วันนี้จะมาทำความเข้าใจ MVC ในแบบของ Codeigniter MVC กันครับสำหรับผมแล้วสิ่งที่ต้องหาคำตอบไม่ว่าจะเล่น MVC ตัวใหนมีอยู่แค่ 8 ข้อ เท่านั้นถ้ารู้แล้วหากินได้ Concept สำหรับผมมีแค่นี้เอง อย่างที่เรารู้ๆกันว่า Controller เป็นตัวเชื่อมระหว่าง view กับ model view อยากได้อะไร บอก controller แล้ว controller จะไปสั่งให้ model ทำให้ พอได้ของมา controller ก็ส่งต่อให้ view เพราะฉะนั้นสิ่งที่ต้องตอบให้ได้คือ 1. View ส่งหา Controller ยังไง 2. Controller รับค่าจาก View ยังไง 3. Controller ส่งหา Model ยังไง 4. Model รับค่าจาก Controller ยังไง 5. Model ส่งของกลับให้ Controller ยังไง 6. Controller รับของที่ผลิตแล้วจาก Model ยังไง 7. Controller ส่งของต่อให้ View ยังไง 8. View รับของจาก Controller ยังไง จากทั้ง 7 สำหรับ Codeigniter ผมทำแบบนี้ครับ 1. View ส่งหา Controller ส่งผ่าน Form หรือ แนบ Parameter ผ่าน URL มา กรณีส่งผ่าน Form ก็ปรกติ จะเป็น GET หรือ POST ก็ว่ากันไป แต่กรณีส่งผ่าน URL นี่ CI มีรู...

PHP Paging การแบ่ง Page ด้วย PHP กับ Framework เทพๆ CodeIgniter

บทความเกี่ยวกับ : PHP Paging การแบ่ง Page ด้วย PHP กับ Framework เทพๆ CodeIgniter การแสดงผลบนเว็บเมื่อมีจำนวน Record จำเป็นต้องมีการแบ่งข้อมูลการแสดงผลออกเป็น หน้าๆ หรือที่เรียกกันว่าการทำ Paging นั่นเอง การเขียนโปรแกรมแบบนี้ด้วย PHP ถือว่าค่อนข้างยุ่งยากเพราะ ถ้าจะให้ดีต้องมีการคำนวณจำนวนหน้า แล้ว List รายการ ออกมาให้คลิ๊ก ถ้านึกภาพไม่ออกให้ดูที่ผลการสืบค้นของ Google ด้านล่างที่มีการแบ่งหน้า ประมาณนั้นแหละครับ Cdeigniter จัดการให้ง่ายๆ ตามตัวอย่างนี้เลย $this->load->library('pagination'); $config['base_url'] = 'myapp/index'; $config['total_rows'] = '200'; $config['per_page'] = '20'; $this->pagination->initialize($config); echo $this->pagination->create_links(); เพียงเท่านี้  CI ก็จะทำการสร้าง Page List พร้อมทำ Link ให้เสร็จสรรพ เลยล่ะครับ

PHP File UPload วิธีการทำ File Upload แบบง่ายๆ ด้วย CodeIgniter

บทความเกี่ยวกับ : PHP File UPload วิธีการทำ File Upload แบบง่ายๆ ด้วย CodeIgniter การทำ File Upload โดยใช้ PHP นั้นจะว่าไปก็ืถือว่าทำได้ง่ายมากๆ เพียงแค่เขียนไม่กี่บรรทัด ถ้าเทียบกับ Java แล้วที่ต้อง Code กันยาวเหยียดก็ถือว่าง่ายกว่ากันเยอะ แต่พอมาใช้ Codeigniter File Upload แล้วก็จะเห็นได้ว่าเรื่องที่ง่ายอยู่แล้วก็ยิ่งง่ายเข้าไปอีกเพราะเพียงแค่ Config นิดหน่อย แล้วก็ Code อีกบรรทัดเดียวก็จบเลย ตัวอย่างง่ายๆ ตามนี้เลยครับผม          $config['upload_path'] = './uploads/';         $config['allowed_types'] = 'gif|jpg|png';         $config['max_size']    = '100';         $config['max_width']  = '1024';         $config['max_height']  = '768';         $rand = rand(1111,9999);         $date= date("Y-m-d ");       ...

วิธี get ค่า auto increment PK ที่ Save ล่าสุด กับ Codeigniter

บทความเกี่ยวกับ : วิธี get ค่า auto increment PK ที่ Save ล่าสุด กับ Codeigniter หลายคนคงเจอปัญหาเรื่องการ บันทึกข้อมูลที่มี PimaryKey เป็น auto increment ว่าหลังจาก save เสร็จแล้วจะรู้ได้อย่างไรว่า PK ตัวล่าสุดที่ save ลงไปเป็นเลขอะไร บางคนแก้ปัญหาด้วยการ select max ออกมาหลังจากที่ save เสร็จแล้ว ซึ่งนั่นโอกาศผิดพลาด ย่อมมีแน่ๆ ถ้าเกิดมีการ Save ข้อมูลพร้อมๆ กันหลายๆ Record Codeigniter แก้ปัญหาให้ด้วยคำสั่งนี้    $this->db->insert_id(); จะ Return pk ตัวล่าสุดที่เรา save ลงไป ซึ่งคำสั่งนี้มีความหมายเดียวกับ คำสั่งของ mysql คำสั่งนี้ mysql_insert_id()   ผมลองทดสอบกับ ฐานข้อมูล MYSQL ดูแล้วพบว่าใช้งานได้เป็นอย่างดี แต่กับฐานข้อมูลตัวอื่นจะใช้ได้หรือไม่อันนี้ต้องลองครับ

Error Report CodeIgniter ชอบตรงจุดนี้จริงๆ

บทความเกี่ยวกับ : Error Report CodeIgniter ชอบตรงจุดนี้จริงๆ วันนี้ลองเขียน CI หรือ Codeigniter (ผมอ่านว่า โค๊ด อิ๊กไน เตอร์ ) ลองทำ Controller , Model ดูเล่นๆ แล้วพบว่าสิ่งที่โดนใจผมมากคือเรื่องของการ รายงาน Error ได้ละเอียดโดนใจมากๆ อย่างเคสนี้ ผมลืมสร้าง table แล้วไปเรียก Insert ด้วยคำสั่งสั้นๆ $this->db->insert('manager',$this); พอ Error ปุ๊บ CI เค้า Report ลึกถึง SQL Command เลยทีเดียว โดนใจมากๆ A Database Error Occurred Error Number: 1146 Table 'svndb.manager' doesn't exist INSERT INTO `manager` (`manager_id`, `manager_name`, `manager_class`, `sex`, `club_name`, `club_level`, `exp`, `next_exp`, `step_id`, `avatar`, `join_date`, `manager_status`) VALUES (0, 'test', '', '', '', '', '', '', '', '', '', '') Filename: C:\AppServ\www\citest\system\database\DB_driver.php Line Number: 330

MVC ในแบบของ CodeIgniter

รูปภาพ
บทความเกี่ยวกับ : MVC ในแบบของ CodeIgniter โำพสแรก แทนที่จะเป็น จาวา กลับเป็น PHP ซะงั้น เห่อๆ ทำไงได้ก็ตอนนี้เขียน PHP อยู่ และก็อีกอย่าง Concept MVC ของ CodeIgniter มันก็ดูเบาๆ ดีเลยคิดว่า เอาตัวนี้มาเล่าให้ฟังดีกว่า เผื่อ จะสื่อถึง Concept MVC ได้ง่ายขึ้น MVC หรือ Model-View-Controller  อธิบายสั้นๆ ก็คือ View : Font end  พูดแบบบ้านๆ ก็คือ หน้าจอ หรือ Model : คือ ส่วนที่ประมวลผล หรือ Provide Data Control : คือส่วนที่ เอาไว้ให้ View กับ Model เค้าคุยกันน่ะ ตามรูป เห่อๆ งงเลยชิมิ แล้วตรงใหนมันคือ View , Controller, Model ล่ะ กำจริงๆ อย่างว่าแหละ พูดง่ายๆ แต่พอทำแล้วอะไรก็ไม่รู้ ยุบยับไปหมด จริงๆ แล้วไม่ใช่อะไรหรอก ที่มันงงเพราะว่ารูปนี้มันไม่ใช่  Architect  ของ MVC แต่ ..... มันคือ Architect ของ  CodeIgniter  แล้วถามว่ามันคือ MVC มั้ย .. มันก็ใช่ .. แล้วจะเล่าให้ฟังต่อ เริ่มสับสนแระ

รู้จักกับ CodeIgniter

บทความเกี่ยวกับ : รู้จักกับ CodeIgniter ผมเป็นคนนึงที่เขียน จาวา เป็นอาชีพหลัก และเขียน PHP เป็นงาน อดิเรก สิ่งหนึ่งที่ทำให้ผมสนใจ PHP ก็คือตัว CodeIgniter นี่แหละ MVC โดยแท้ๆ มันทำให้ผมเขียน PHP ได้ความรู้สึกเดียวกับ Java เลยทีเดียว เพราะฉะนั้น คงช่วยไม่ได้ที่ Blog นี้จะมีการพูดถึง MVC ฟาก PHP ตัวนี้ .. แล้วเจอกัน