เร่ิมต้นการเขียนโปรแกรมด้วย ภาษา PHP ใน Ebook เลม่ นี ้ผ้เู ขยี นจะแนะนาถงึ พนื ้ ฐานสาหรับผ้เู ร่ิมต้นท่ีต้องการ เริ่มต้นพฒั นา โปรแกรม ด้วยภาษา PHP และ จะสอดแทรกเทคนิค ตา่ ง ๆ ตวั อยา่ งการใช้งานจริงเพอื่ เสริมสร้างความเข้าใจมาก ยิ่งขนึ ้ ทงั้ นใี ้ น Ebook เลม่ นี ้นาเสนอ คาสง่ั พนื ้ ฐาน และ การใช้งานเบอื ้ งต้นเทา่ นนั้ ในสว่ นท้ายจะมี ตวั อยา่ งการโปรแกรม เพ่ิม แก้ไข ลบข้อมลู ในฐานข้อมลู MySQL เพื่อเป็ นแนวทางในการเขยี นโปรแกรม วิทยา ทองคา Monkeywebstuido.com เนือ้ หามีอะไรบ้าง - PHP คืออะไร - การเตรียมเครื่องมือในการพฒั นาโปรแกรม - การเขยี น Tag PHP - คาสง่ั การแสดงผล - การเขียน Comment ในรูปแบบตา่ ง ๆ - การใช้งานคาสง่ั PHP ร่วมกบั ภาษา HTML - ตวั แปร - ตวั ดาเนินการ - คาสง่ั ตรวจสอบเง่อื นไข - คาสงั่ วนรอบการทางาน - Array - Function - PHP MySQLi - การเช่ือมตอ่ ฐานข้อมลู - การเพ่ิมข้อมลู - การแก้ไขข้อมลู - การลบข้อมลู
PHP คอื อะไร PHP คือ ภาษาโปรแกรม รูปแบบหนง่ึ ท่ที างาน อยบู่ น Server หรือ เรียกวา่ Server Side Script โดยคาสง่ั ภาษา PHP นนั้ จะถกู นาไปประมวลผล ในฝั่ง Server กอ่ น และสง่ ผลลพั ธ์ กลบั มาแสดงผลให้ ผ้ใู ช้งานผา่ นทางหน้าจอของ เคร่ือง Client ท่รี ้องขอไฟล์ ภาษา PHP นนั้ ถกู พฒั นาอยา่ งตอ่ เน่ือง มี library และ Framwork ตา่ ง ๆ ให้เลอื กใช้มากมาย เป็น ภาษาท่ไี ด้รับความนิยม มีผ้ใู ช้งานเป็ นจานวนมาก เหมาะสาหรับเร่ิมต้นเรียนรู้การเขยี นโปรแกรม เคร่ืองมอื สาหรับการพัฒนาโปรแกรม ภาษา PHP 1. โปรแกรม Text Editor เช่น notepad ++ , sublime text 3 , netbeans เป็ นต้น 2. โปรแกรมจาลอง Web Server เช่น Xampp , Wampp เป็ นต้น โดยโปรแกรมจาลอง Web Server นนั้ คอื โปรแกรมที่ รวมเอาโปรแกรมทจ่ี าเป็ นในการพฒั นา เชน่ Apache , MySQL , PhpMyAdmin และ อ่ืน ๆเพื่อให้สามารถพฒั นาโปรแกรมได้สะดวกย่งิ ขนึ ้ 3. โปรแกรม Web Browser Google Chorme หรือ Mozila Firefox ใน Ebook เลม่ นี ้จะใช้ โปรแกรม Text Editor Sublime Text และ โปรแกรมจาลอง Web Server Xampp ในการเร่ิมต้นผ้เู ขยี นแนะนาให้ ผ้อู ่านได้ ทดลองพิมพ์คาสง่ั และ Run ตาม เพื่อให้เกิดความค้นุ เคยกบั ตวั ภาษาโปรแกรม
การดาวน์โหลดและตดิ ตงั้ โปรแกรมจาลอง Server Xampp (For Windows) - โปรแกรม Xampp เป็ นโปรแกรมสาหรับจาลองเครื่องคอมพิวเตอร์ให้สามารถใช้งาน Web Server ได้สามารถดาวน์โหลด โปรแกรมได้ท่ี www.apachefriends.org - โปรดตรวจสอบวา่ ในเคร่ืองของทา่ นไม่มีโปรแกรม Web Server ตวั อื่น ใช้งานอยู่ เลือกดาวน์โหลดโปรแกรม ตวั อย่างเลือกดาวน์โหลดโปรแกรม เพ่อื ตดิ ตงั้ ในระบบปฏิบัติการ Windows - เมื่อดาวน์โหลดเรียบร้อยจะได้ไฟล์ ดบั เบิลคลกิ เพือ่ ตดิ ตงั้ ดบั เบลิ คลิก ท่ไี ฟล์ เพ่อื ตดิ ตงั้ โปรแกรม
- จะเข้าสหู่ น้าจอการติดตงั้ โปรแกรม คลกิ Next คลิก Next คลิก Next
- เลอื ก Folder ท่ีอยขู่ องโปรแกรม คลิก Next - คลกิ next คลิก Next
คลิก Next
คลิก Finish - คลกิ Finish เพื่อเสร็จสนิ ้ การติดตงั้ โปรแกรมจะแสดงหน้าจอ Xampp Control Panel ขนึ ้ มา - คลกิ ป่ มุ Start Service Apache และ MySQL คลิก Start คลิก Start
- เมื่อ Start Service เรียบร้อยแล้ว เม่อื Start Service เรียบร้อย ทดสอบการใช้งาน เปิ ด Web Browser พิมพ์ localhost หรือ 127.0.0.1
เร่ิมต้นการเขยี นโปรแกรม เมื่อติดตงั้ โปรแกรม Xampp และ โปรแกรม Sublime Text เรียบร้อยแล้ว สร้าง Folder Project ของเราไว้ท่ี C:xampp/htdocs/ชื่อ Folder Project ของเรา และสร้างไฟล์ index.php สาหรับทดสอบการทางานของคาสงั่ ตา่ ง ๆ ตวั อยา่ ง จะใช้ชอื่ Folder Project วา่ basic (C:xampp/htdocs/basic/index.php) การเขียน Tag เปิ ด และ ปิ ดคาส่ัง PHP ในการเขียนโปรแกรมภาษา PHP ก่อนเริ่มทาการเขยี นต้องมีการเปิ ด Tag PHP กนั กอ่ น การเขียน Tag มี 2 รูปแบบด้วยกนั คอื <?php หรือ <? สาหรับการเปิ ด และ ?> สาหรับการปิ ด ตัวอย่าง การเขียน Tag PHP เราจะเขยี นคาสงั่ PHP ภายในขอบเขตของ Tag <?php และเมื่อสนิ ้ สดุ คาสง่ั จะจบด้วย ?> ทกุ ครัง้ เพือ่ ให้ตวั แปรภาษารู้วา่ สว่ นใดเป็ นคาสงั่ PHP นนั่ เอง ผ้เู ขียน แนะนาวา่ ให้เขยี นแบบ <?php คาสงั่ ?> เนอื่ งจากการนาโปรแกรมไปใช้งานจริง บางครัง้ เคร่ือง Server ได้ทาการปิ ด Shrot Tag ( <? ?>)ไว้ อาจทาให้ โปรแกรมไมส่ ามารถ ใช้งานได้
คาส่ัง echo คอื คาส่ังสาหรับ การแสดงผลออกจากหน้าจอ ตวั อยา่ ง 1.1 การแสดงผลข้อความด้วยคาสงั่ echo ตัวอย่างการแสดงผลออกทางหน้าจอ
ในการจบประโยคคาสงั่ โปรแกรมทกุ ครัง้ ต้องใสเ่ ครื่องหมาย ; เซมิโคลอ่ น ทกุ ครัง้ เพื่อเป็ นการสนิ ้ สดุ คาสง่ั ตัวอย่าง Error กรณีลืมใส่ เซมโิ คล่อน ;
การเขยี น Comment การเขียน Comment คือการปิ ดการทางานของคาสง่ั บางอยา่ งทเี่ ราไม่ต้องการให้ทางาน หรือ เป็น การอธิบายการทางานของคาสงั่ โดยยอ่ เพือ่ ความสะดวกในการกลบั มาแก้ไขในภายหลงั การเขียน comment ใน PHP มรี ูปแบบดังนี้ 1. การ Comment แบบ บรรทดั เดยี ว ใช้เครื่องหมาย // หรือ # คาสงั่ ที่อยขู่ ้างหลงั เครื่องจะถกู ปิ ดการ ทางานทงั้ บรรทดั 2. การ comment แบบ หลายบรรทดั ใช้เครื่องหมาย /* ตามด้วยคาสง่ั ทต่ี ้องการ ปิ ดการทางาน และ ใช้เครื่องหมาย */ เพ่ือจบการ comment ตวั อย่างการ Comment
การ เขยี น PHP ร่วมกบั ภาษา HTML คาสงั่ ของภาษา PHP นนั้ สามารถ แทรกลงในคาสงั่ ทีเ่ ป็ น Html ได้ หรือ สง่ั ให้แสดงผลเป็ น Html ได้ ตวั อย่างการเขียน PHP ร่วมกบั HTML จะเหน็ วา่ Tag php <?php ?> เป็ นตวั กาหนดขอบเขตของคาสง่ั เพอ่ื ให้ ตวั แปลภาษา รู้วา่ คาสงั่ ไหนคอื คาสง่ั PHP
ตัวแปร (Variables) ตวั แปร คือ ทพี่ กั สาหรับเก็บข้อมลู เพื่อใช้ในการคานวณ หรือ แสดงผลข้อมลู ภายในระบบ โดยใน ภาษา PHP การสร้างตวั แปรจะมีเคร่ืองหมาย $ นาหน้า และตามด้วยช่ือตวั แปร เช่น $name; การกาหนดคา่ ให้กบั ตวั แปร เราสามารถ กาหนดคา่ เร่ิมต้นให้กบั ตวั แปรได้ เชน่ $name = ‚Hello PHP‛; ตวั แปร name ก็จะเก็บคา่ ข้อความ ข้อแนะนาการตงั้ ช่ือตัวแปร - ช่ือของตวั แปรนนั้ จะต้องขนึ ้ ต้นด้วยเครื่องหมาย $ (Dollar Sign) และตามด้วยตวั อกั ษร ไม่เป็ น ตวั เลขหรือสญั ลกั ษณ์พเิ ศษ - ช่ือของตวั แปรควรจะสอ่ื ความหมาย กบั การไปใช้งาน เขน่ $fullname , $phone - ช่ือของตวั แปรชื่อเดียวกนั แตใ่ ช้ตวั อกั ษรพิมพ์เลก็ พิมพ์ใหญ่ถือวา่ เป็ นคนละตวั แปรกนั เช่น $price , $PRICE ตวั อย่างการสร้างตัวแปร หลกั การตงั้ ชื่อตวั แปร - ต้องนาหน้าด้วย $ (Dollar Sign) และ ตามด้วยตวั อกั ษร - ช่ือของตวั แปร ต้องไมใ่ ช้สญั ลกั ษณ์พเิ ศษในการตงั้ เป็ นช่ือตวั แปร - ตวั อกั ษรที่ใช้ตงั้ ชื่อตวั แปร พิมพ์ และ พมิ พ์ใหญ่ ถือวา่ เป็ นคนละตวั แปรกนั - ควร ตงั้ ชื่อให้สอ่ื กบั ความความในการใช้งานตวั แปร เพ่ือความสะดวกในการเขยี นโปรแกรม
ชนิดของข้อมลู ในตัวแปร - Boolean เก็บข้อมลู เป็ นคา่ จริง true หรือ เท็จ false - Integer เก็บข้อมลู เป็ นตวั เลขจานวนเต็ม - Float , double เก็บข้อมลู เป็ นเลขจานวนจริง - String เก็บข้อมลู ทเี่ ป็ นข้อความ - Array เก็บข้อมลู หลาย ๆ คา่ ไว้ในตวั แปรเดียว ตัวอย่างการเก็บข้อมูลรูปแบบต่าง ๆ ในตวั แปร ในการประกาศตวั แปรบางภาษาโปรแกรมคอมพิวเตอร์อาจจาเป็ นต้องระบุให้ชดั เจนวา่ ตวั แปรที่ เราได้สร้างขนึ ้ มาเป็ นตวั แปรชนิดใด แตส่ าหรับในภาษา PHP นนั้ ไม่จาเป็ นต้องระบุชนดิ ของตวั แปร ระบบ สามารถทราบได้เองวา่ เป็ นตวั แปรชนิดใด ซงึ่ ในการเขยี นโปรแกรมนนั้ เราจาเป็ นต้องทราบวา่ ตวั แปรทีใ่ ช้ งานอยนู่ นั้ เก็บข้อมลู ชนิดใดอยสู่ ามารถตรวจสอบได้โดยใช้คาสง่ั var_dump เพอ่ื ตรวจสอบวา่ ตวั แปรที่ใช้ งานเก็บข้อมลู แบบใด
ตวั อย่างการใช้งานคาส่ัง var_dump เพ่อื ตรวจสอบชนิดของตวั แปร ตัวอย่างการแสดงผลเม่ือทางานบน Web Browser
ตัวดาเนินการ (Operators) ตวั ดาเนนิ การ คือ เคร่ืองหมายที่ใช้ในการจดั การกบั ข้อมลู ภายในตวั แปร เพื่อ กาหนดคา่ คานวณ เปรียบเทยี บ เพม่ิ คา่ ลดคา่ และ อ่ืน ๆ ตวั อยา่ งตวั ดาเนนิ การเช่น เคร่ืองหมาย บวก ลบ คณู หาร มากกวา่ น้อยกวา่ เป็ นต้น ตัวอย่างตวั ดาเนินการทางคณติ ศาสตร์ เราสามารถใช้งานเคร่ืองหมายทางคณิตศาสตร์เพื่อคานวณคา่ ของตวั แปรได้ โดยกาหนดให้ตวั แปร $a มีคา่ เทา่ กบั 15 และ ตวั แปร $b = 10 ในตวั อยา่ ง นาคา่ ตวั แปร $a มาบวก กบั $b และนาคา่ ท่ไี ด้ มากาหนดให้กบั ตวั แปร $c ผลท่ีได้คือ 15 + 10 ดงั นนั้ ตวั แปร $c เก็บคา่ 25 ผลการทางาน
ตวั ดาเนินการทางคณิตศาสตร์มดี ังนี้ - กาหนดให้ตวั แปร $a มีคา่ เทา่ กบั 10 ตวั แปร $b มีคา่ เทา่ กบั 5 ตวั ดาเนินการ ต้วอย่างการใช้งาน ผลท่ไี ด้ 25 + (บวก) $a + $b 5 150 - (ลบ) $a - $b 1.5 5 * (คูณ) $a * $b / (หาร) $a / $b % (หารเอาแต่เศษ) $a % $b ตัวดาเนินการเปรียบเทียบ - เป็ นการเปรียบเทยี บคา่ ในตวั แปรหากเป็ นจริงจะให้คา่ จริง (true) หรือไมเ่ ป็ นจริงจะได้คา่ เทจ็ (false) - ตวั อยา่ ง $a == $b ไม่เป็ นความจริง เนอ่ื งจาก คา่ 15 ไม่เทา่ กบั 5 จงึ ได้คา่ เทจ็ (false) ตัวดาเนนิ การ ต้วอย่างการใช้งาน ผลท่ไี ด้ == (เท่ากบั ) $a == $b เทจ็ (false) === (เท่ากับ) $a === $b เท็จ(false) (ชนิดข้อมลู ต้องเป็ นเดยี วกนั ) != (ไม่เท่ากับ) $a != $b จริง(true) > (มากกว่า) $a > $b จริง(true) < (น้อยกว่า) $a < $b เท็จ(false) >= (มากกว่าหรือเท่ากบั ) $a >= $b จริง(true) <= (น้อยกว่าหรือเท่ากบั ) $a <= $b เทจ็ (false)
ตวั ดาเนินการตรรกศาสตร์ ต้วอย่างการใช้งาน ผลท่ไี ด้ ตวั ดาเนนิ การ $a == $b เทจ็ (false) $a === $b เท็จ(false) || (หรือ) $a != $b จริง(true) or (หรือ) $a > $b จริง(true) && (และ) $a < $b เท็จ(false) and (และ) ! (ไม่) ต้วอย่างการใช้งาน ผลท่ไี ด้ $a += $b $a = $a + $b ตวั ดาเนนิ การ เพ่มิ คา่ ลด คา่ $a -= $b $a = $a - $b ตัวดาเนนิ การ $a *= $b $a = $a * $b $a /= $b $a = $a / $b += $a %= $b $a = $a % $b -= *= /= %=
คาส่งั ตรวจสอบเง่อื นไข if else คาสงั่ ตรวจสอบเงอื่ นไข คอื การตรวจสอบข้อมลู เพอื่ เปรียบเทียบคา่ ที่ต้องการแสดงผล วา่ เป็ นจริง หรือเท็จ ถ้าเป็ นจริงให้ทาแบบนี ้หรือ ไม่เป็ นจริงให้ทาอีกแบบหนง่ึ เช่น หากวนั นเี ้ป็ นวนั หยดุ ฉนั จะไม่ไป โรงเรียน หากเป็ นจริง ฉนั จะไมไ่ ปโรงเรียน หากไมเ่ ป็ น จริง ฉนั จะไปโรงเรียน หรือ ถ้าเดก็ ชาย มีอายุ มากกวา่ 15 ปี ถ้าเป็ นจริงให้ใช้คานาหน้าวา่ นาย ถ้าไมเ่ ป็ นจริง ให้ใช้คานาหน้าวา่ เดก็ ชาย เป็ นต้น ในการเขยี นโปรแกรมนนั้ เราจะทาการตรวจสอบคา่ ของตวั แปร เพื่อให้แสดงผลข้อมลู ตามเง่อื นไข ตา่ ง ๆ คาส่ัง if - คือ คาสง่ั ตรวจสอบเงื่อนไข และทางานเม่ือเงอ่ื นไขเป็ นจริงเทา่ นนั้ จากตวั อยา่ ง เราได้กาหนดคา่ ตวั แปร $a มีคา่ เทา่ กบั 10 และ $b มีคา่ เทา่ กบั 5 บรรทดั ที่ 2 กาหนดคา่ ตวั แปร $a มีคา่ เทา่ กบั 10 บรรทดั ที่ 4 กาหนดคา่ ตวั แปร $b มีคา่ เทา่ กบั 5 บรรทดั ท่ี 6 คาสง่ั if กาหนดเง่อื นไข $a มีคา่ มากกวา่ $b จริงหรือไม่ หากเป็ นจริงจะทาคาสง่ั ในวงเลบ็ { } บรรทดั ท่ี 8 หาก $a มีคา่ มากกวา่ $b จริง จะทาคาสงั่ echo ‚Yes I Can‛ หากไม่จริงจะข้ามการทางาน สว่ นนไี ้ ป
คาส่ัง if else คาสง่ั ตรวจสอบเง่อื นไขโดยจะทาคาสงั่ ทอี่ ยภู่ ายใน if เมื่อเงอื่ นไขเป็ นจริง และทาคาสงั่ ที่อยภู่ ายใน else เม่ือเง่ือนไขเป็ นเทจ็ ตวั อย่างการใช้งาน คาส่ัง if else กาหนดให้ตวั แปร $old มีคา่ เทา่ กบั 20 คาสงั่ if ตรวจสอบเงอื่ นไข ถ้า ตวั แปร $old มีคา่ มากกวา่ หรือเทา่ กบั 15 เป็ นจริงให้ทาคาสง่ั ท่อี ยภู่ ายใน if หากไม่เป็ นจริงให้ทาคาสง่ั ทีอ่ ยภู่ ายใน else ผลการทางาน
คาส่ัง if ซ้อน if คาสงั่ ตรวจสอบเง่อื นไข แบบ ซบั ซ้อน คาสงั่ if สามารถตรวจสอบเงอ่ื นไขได้หลายชนั้ ตัวอย่างการใช้งาน if else if ตวั อยา่ งการแบง่ เกรด โดยในคาสง่ั if จะทาการตรวจสอบเง่อื นไข ถ้าจริงจะทางานภายในคาสงั่ ปี กกาของ if ถ้าไมจ่ ริง จะตรวจสอบเงอ่ื นไขของ else if ไปเร่ือย ๆ ถ้าไม่ตรงกบั เงอื่ นไขใดเลยจะทาคาสงั่ ใน ปี กกา ของ else บรรทดั ท่ี 3 กาหนดคา่ $score มีคา่ เทา่ กบั 10 บรรทดั ที่ 5 ตรวจสอบเงอ่ื นไข ถ้า $score มีคา่ มากกวา่ หรือ เทา่ กบั 85 ให้ทาคาสงั่ ภายในเงือ่ นไขนี ้ บรรทดั ท่ี 9 ตรวจสอบเงอ่ื นไข ถ้า $score มีคา่ มากกวา่ หรือ เทา่ กบั 70 ให้ทาคาสง่ั ภายในเงอื่ นไขนี ้ บรรทดั ท่ี 13 ตรวจสอบเง่ือนไข ถ้า $score มีคา่ มากกวา่ หรือ เทา่ กบั 60 ให้ทาคาสงั่ ภายในเง่อื นไขนี ้ บรรทดั ที่ 17 ตรวจสอบเง่ือนไข ถ้า $score มีคา่ มากกวา่ หรือ เทา่ กบั 50 ให้ทาคาสงั่ ภายในเงื่อนไขนี ้ บรรทดั ที่ 21 หากไมต่ รงกบั เงื่อนไขใดเลย ให้ทาคาสง่ั ภายใน else
คาส่ัง switch case คาสง่ั เพอื่ ใช้งานการเลอื กทางาน 1 ทางเลอื กจากหลาย ๆ ทางเลอื กโดยจะตรวจสอบวา่ ตรงกบั case ใด ก็จะทางานในคาสงั่ นนั้ เราจะใช้คาสง่ั break เพอ่ื หยดุ การทางานของ case และ คาสง่ั default เม่ือ เง่ือนไขไม่ตรงกบั case ใด ๆ ตัวอย่างการใช้งาน ในการใช้งานคาสง่ั switch เราจาเป็ นต้องระบุ คาสงั่ break หลงั จากคาสง่ั case เพ่อื หยดุ การ ทางาน หากไม่ระบุ คาสงั่ break จะแสดง case ตอ่ ไป หลงั จาก case ท่ี ตรงกบั เงื่อนไข และ ระบคุ าสง่ั default เมื่อ ไม่ตรงกบั เงอ่ื นไขใด ให้ทางานในคาสงั่ default จากตวั อยา่ ง กาหนดคา่ ตวั แปร $month มีคา่ เทา่ กบั 5 ตรวจสอบเง่ือนไขภายใน คาสง่ั switch หากตรงกบั case ใด ๆ ให้แสดงคาสง่ั ภายใน case นนั้
ตวั อย่างการทางาน ในตวั อยา่ ง ตวั แปร $month มีคา่ เทา่ กบั 5 เมื่อทาคาสงั่ switch จะตรงกบั case ทีม่ ีเงอ่ื นไขตรงกบั 5 และหยดุ การทางาน ด้วยคาสงั่ break ความแตกต่างระหว่าง คาส่งั switch กบั คาส่ัง if else if คาสงั่ switch สามารถตรวจสอบเงื่อนไข ของแตล่ ะ case โดยท่ไี ม่มีความเกี่ยวข้องกนั คาสง่ั if else if จาเป็ นต้องเปรียบเทียบ คา่ วา่ เป็นจริงหรือเท็จ ก่อนทจี่ ะทาคาสงั่ ตอ่ ไป
คาส่ังทาซา้ for คาสง่ั for จะมีการวนรอบการทางาน จนกวา่ จะครบเงอื่ นไขตามที่กาหนดถึงจะหยดุ การทางาน ตวั อยา่ งคาสงั่ for แสดงตวั เลข 1 ถงึ 10 ตัวอย่างการทางาน
เราสามารถใช้คาสง่ั if เพือ่ ตรวจสอบเง่อื นไข และ ใช้คาสง่ั break เพอื่ หยดุ การทางานของ for ตวั อยา่ ง ต้องการ แสดงตวั เลข 1 ถึง 5 ตวั อยา่ งการทางาน
คาส่ัง while คือคาสง่ั ตรวจสอบเง่อื นไข และจะวนรอบการทางานจนกวา่ เงือ่ นไขจะเป็ นเทจ็ ตัวอย่างการใช้งานคาส่ัง while บรรทดั ที่ 3 กาหนดคา่ เร่ิมต้น ตวั แปร $i มีคา่ เทา่ กบั 1 บรรทดั ที่ 5 คาสงั่ while ตรวจสอบคา่ $i มี คา่ น้อยกวา่ 10 ให้ทาคาสง่ั ด้านลา่ ง หรือ เทา่ กบั 10 ให้หยดุ การ ทางาน บรรทดั ที่ 7 คาสงั่ echo แสดงคา่ ตวั แปร $i บรรทดั ที่ 9 ใช้ตวั ดาเนินการเพ่มิ คา่ ตวั แปร $i ทลี ะ 1
คาส่ัง do while เป็ นคาสง่ั วนรอบการทางาน แตจ่ ะทา คาสง่ั do ก่อน หนง่ึ ครัง้ แล้วคอ่ ยตรวจสอบเงื่อนไข ถ้าเป็น จริงจะทาตอ่ จนกวา่ เงื่อนไขจะเป็ นเทจ็ และหยดุ การทางาน
ตวั แปรชนิด Array เป็ นตวั แปรที่สามารถเก็บข้อมลู หลาย ๆ ตวั ไว้ในตวั แปรเดยี ว เปรียบเทยี บได้กบั ลนิ ้ ชกั มีชอ่ งอยู่ หลายช่อง ในลนิ ้ ชกั สามารถ เก็บของได้หลายชอ่ ง แตก่ บั ตวั แปร Array สามารถ เก็บกช่ี ่องก็ได้ และ จะต้องมชี ่ือของแตล่ ะชอ่ งเพ่ือให้สามารถค้นหาสงิ่ ของทอ่ี ยภู่ ายในได้ถกู ต้อง การใช้งานตัวแปร Array ตวั แปร Array จะประกอบด้วย Key และ Value Key คือตาแหนง่ ของข้อมลู ใน Array หากเราไม่ได้กาหนด Key ตวั แรกของ Array จะเร่ิมต้นที่ 0 Value คือ คา่ ท่เี ก็บอยใู่ นตวั แปร ตวั อย่างข้อมลู ท่เี ก็บอย่ใู นตวั แปร $book Key Value 0 NodeJs 1 Java 2 PHP 3 JQuery เราสามารถเข้าถงึ ข้อมลู ภายใน Array ทีละตวั ได้โดยกาหนด Key ท่ีต้องการ ตวั อยา่ ง $book[2] จะได้ผลลพั ธ์คอื ข้อมลู ที่อยลู่ าดบั ท่ี 2 ใน Array โดยเร่ิมนบั จาก 0
การแสดงผลข้อมลู ทีอ่ ยใู่ นตวั แปร $book ในลาดบั ที่ 2 คอื PHP การกาหนด Key และ Value ให้กบั ตวั แปล Array ตวั อยา่ งกาหนด Key คอื ช่ือหนงั สอื และ Value คอื จานวนหนงั สอื เราสามารถเข้าถงึ ข้อมลู ภายใน Array โดยกาหนด Key ท่ีต้องการ ตวั อยา่ งต้องการแสดงผลคา่ ของ จานวนหนงั สอื ของ Key ท่ีมีช่ือวา่ PHP จะได้ผลลพั ธ์เป็ น 10
- ในการใช้งานเราจะประกาศตวั แปร และกาหนดคา่ ท่ตี ้องการไว้ในเคร่ืองหมาย [] หรือ array() ตัวอย่างการแสดงผล จากตวั อยา่ งข้างต้น เป็ นการใช้งาน Array แบบ 1 มิติ เทา่ นนั้ ยงั มี Array แบบ 2 มิติ และ Array แบบ 3 มิติ ที่ยงั ไมไ่ ด้กลา่ วถงึ ในEBook เลม่ นี ้
การใช้งานคาส่ัง foreach เพ่อื วนลูปแสดงข้อมลู ภายใน Array ตวั อยา่ งการใช้งาน foreach กรณีต้องการ แสดงคา่ Key และ Value รูปแบบคาส่ัง foreach ( ตวั แปรท่ีเป็น Array as ตวั แปรที่รับคา่ Key => ตวั แปรท่ีรับคา่ Value){ คาสง่ั ที่ต้องการให้ทางาน } ตัวอย่างคาส่ัง foreach ตัวอย่างการแสดงผล
กรณีท่ีตวั แปร Array ไมไ่ ด้มีการกาหนด Key Array จะกาหนด Key ให้เป็ นตวั เลขโดยอตั โนมตั โิ ดยเริ่มต้น ด้วย 0 รูปแบบคาส่ัง foreach ( ตวั แปรที่เป็น Array as ตวั แปรท่ีรับคา่ Value){ คาสงั่ ที่ต้องการให้ทางาน } ตวั อย่างคาส่ัง ตวั อยา่ งการแสดงผล
Function Function คือ การนาคาสงั่ ทใ่ี ช้บอ่ ย ๆ มารวมกนั ไว้ สามารถ เรียกใช้งานได้งา่ ย และ นากลบั มาใช้ ใหม่ โดยไม่ต้องเขียนคาสงั่ ใหม่ทงั้ หมด เรียกแค่ชื่อ function และ อาจมีการสง่ คา่ ไปให้ function ทางาน และ สง่ ผลลพั ธ์กลบั มา ซงึ่ function มีทงั้ แบบท่ี PHP มีมาให้เราใช้งานได้อยแู่ ละ กบั แบบทเ่ี ราต้องการ function ขนึ ้ มาเองเพ่ือให้ตรงกบั ความต้องการ ตัวอย่างการเรียกใช้งาน function ท่มี ีมาอยู่แล้วใน PHP การเรียกใช้งาน function phpinfo() เพ่ือแสดงข้อมลู ของ รายละเอียดคา่ ของ php ที่ใช้งานอยู่ ตวั อย่างการทางาน
การสร้าง function ขึน้ มาเอง แบบไม่มกี ารส่งค่าระหว่าง function และการเรียกใช้งาน ช่ือของ function คาสง่ั ที่ต้องการให้ทางาน การเรียกใช้งาน การตงั้ ช่ือ function นนั้ จะต้องไม่ซา้ กบั ชื่อ function ทม่ี ีมาอยแู่ ล้วใน PHP และควรสอื่ ความหมายการ ทางาน การสร้าง function ท่มี ีการส่งค่าระหว่าง function ตวั อยา่ งเป็ นการสร้าง function ช่ือ name และมีการสง่ คา่ พารามิเตอร์ 2 ตวั คือ ตวั แปร $name และ ตวั แปร $phone function name รับคา่ พารามเิ ตอร์ $name และ $phone การเรียกใช้งานเราต้องระบคุ า่ พารามิเตอร์ ให้ function นาไปทางานตอ่
การเรียกใช้งาน เราต้องระบุคา่ ของ พารามิเตอร์ที่ต้องการนาไปใช้งานใน function ตัวอย่างการแสดงผล ข้อดขี อง function คอื เราสามารถเรียกใช้งาน function ซา้ หลาย ๆ ครัง้ ได้โดยไมต่ ้องเขยี น Code เดมิ อีก เพยี งแคเ่ ปลย่ี นข้อมลู ใน พารามิเตอร์ตอนท่ีเรียกใช้งาน ตัวอย่างการเรียกใช้งาน Function ซา้ กนั หลาย ๆ ครัง้ ตัวอย่างการแสดงผล
การใช้งาน PHP MySQLi ในการจัดการฐานข้อมูล MySQL ในการเขียนโปรแกรม PHP เพ่ือจดั การฐานข้อมลู ใน PHP นนั้ สามารถเขยี นได้ 2 แบบ คอื แบบ mysqli กบั แบบ PHP PDO ซง่ึ ในการเขยี นโปรแกรมเชื่อมตอ่ กบั ฐานข้อมลู นนั้ ผ้อู ่านจาเป็ นต้องมีความรู้ ใน ภาษา SQL(Structured Query Language) ซงึ่ เป็ นภาษามาตรฐานสาหรับจดั การข้อมลู ในฐานข้อมลู เช่น การ ค้นหา เพ่ิม แก้ไข และ ลบข้อมลู ในฐานข้อมลู ความแตกต่างระหว่างการเขียน mysqli กบั PDO คอื การเขยี นแบบ php mysqli จะรองรับเฉพาะฐานข้อมลู MySQL เทา่ นนั้ สว่ นการเขียน PHP แบบ PDO จะรองรับการเช่ือมตอ่ ฐานข้อมลู ท่ีหลากหลาย ซง่ึ ใน Ebook เลม่ นจี ้ ะแนะนาการใช้งาน PHP แบบ mysqli ในการจดั การฐานข้อมลู โดยใช้ร่วมกบั PhpMyAdmin การสร้างฐานข้อมลู ใน PhpMyAdmin เม่ือติดตงั้ โปรแกรม XAMPP สาเร็จแล้ว สามารถเข้าสรู่ ะบบจดั การฐานข้อมูลได้โดย พมิ พ์ localhost /phpmyadmin เมื่อเข้าสหู่ น้าจอ phpmyadmin แล้วคลกิ ที่ เมนู Database 1.คลกิ Tab Database
ในช่อง Create database พิมพ์ชื่อฐานข้อมลู ทต่ี ้องการสร้าง และในช่อง Collation เลอื กเป็ น utf8_general_ci เพ่ือรองรับกบั ภาษาไทย 2.พมิ พ์ช่อื demo 3.เลือก ut8_general_ci 4.คลกิ ป่ มุ Create เม่ือสร้างฐานข้อมลู เรียบร้อย เราจะได้ฐานข้อมลู ช่ือวา่ demo ซง่ึ จะยงั ไมม่ ีข้อมลู อะไร เราต้องมา ทาการสร้างตารางเพื่อเก็บข้อมลู ตา่ ง ๆ ทต่ี ้องใช้ในระบบของเรา ซงึ่ ในการสร้างตารางนนั้ เราจาเป็ นต้อง ออกแบบโครงสร้างของตารางเสยี ก่อนท่จี ะเร่ิมลงมือเขยี นโปรแกรม แตใ่ นตวั อยา่ งนจี ้ ะเป็ นการสร้างตาราง employees แบบงา่ ย ๆ เก็บเพยี ง ช่อื ทอี่ ยู่ เงินเดอื น วนั เกิด เพื่อแสดงให้เห็นถึงการเขยี นโปรแกรม เพื่อ ค้นหา เพ่มิ แก้ไข ลบ ข้อมลู ในฐานข้อมลู
การสร้างตาราง employees ด้วยคาส่ัง CREATE TABLE ตัวอย่างคาส่ังสร้าง ตาราง employees อธบิ าย คาส่ัง SQL เพ่มิ เตมิ บรรทดั ที่ 2 สร้างตารางช่ือวา่ employees บรรทดั ที่ 3 สร้าง คอลมั น์ ช่ือวา่ id เก็บข้อมลู เป็ น INT (ตวั แลข) ไม่เป็ นคา่ วา่ ง NOT NULL เพ่ิมลาดบั เลข คอลมั น์อตั โนมตั ิ AUTO_INCREMENT และ กาหนดให้เป็ น PRIMARY KEY คอื เป็ น คยี ์หลกั สามารถ อ้างอิงถงึ ข้อมลู อื่น ๆ ในตารางได้ บรรทดั ที่ 4 สร้าง คอลมั น์ชื่อวา่ fullname เก็บคา่ เป็ น VARCHAR (100) คอื คา่ สตริงความยาวไม่เกิน 100 ตวั อกั ษร บรรทดั ท่ี 5 สร้าง คอลมั น์ชื่อวา่ address เก็บคา่ เป็ น VARCHAR (250) คือ คา่ สตริงความยาวไม่เกิน 250 ตวั อกั ษร บรรทดั ท่ี 6 สร้าง คอลมั น์ช่ือวา่ salary เก็บคา่ เป็ น INT(11) คือ คา่ ตวั แลขความยาวไม่เกิน 11 หลกั บรรทดั ที่ 7 สร้าง คอลมั น์ชื่อวา่ birthday เก็บคา่ เป็ น DATE คือ เก็บคา่ วนั ที่ในรูปแบบ ปี (ค.ศ.) – เดอื น – วนั
คลกิ ท่เี มนู SQL เพ่มิ คาสง่ั สาหรับการสร้างตารางดงั นี ้ 2.คลกิ Tab SQL 1.คลิก Database Demo 4.คลิก ป่ มุ Go 3. เพ่มิ คาส่ัง สร้างตาราง employees เมื่อสร้ างตารางเรียบร้ อยแล้ว
การเพ่มิ ข้อมูลเข้าส่ตู าราง ด้วยคาส่ัง INSERT ในตวั อยา่ งเราจะทาการเพ่ิมข้อมลู เข้าไปในตาราง employee ก่อน ด้วยคาสง่ั INSERT โดยคาสงั่ มีรูปแบบการเขยี นดงั นี ้ รูปแบบการเขียนคาส่ัง INSERT INSERT INTO ชื่อตาราง (คอลมั น์1,คอลมั น์2,คอลมั น์3,คอลมั น์4,คอลมั น์5) VALUES (ข้อมลู 1,ข้อมลู 2,ข้อมลู 3,ข้อมลู 4,ข้อมลู 5,); ตวั อย่างคาส่ังท่ีใช้เพ่มิ ข้อมูลลงในตาราง employees INSERT INTO employees (id , fullname , address , salary , birthday ) VALUES (NULL, 'สมชาย ใจดี', '105 แขวง บางมด เขต ทงุ่ ครุ กรุงเทพฯ 10140', '2500', '1987-06-28'), (NULL, 'สมหญิง สายเสมอ', '269/10 ซ.ลาดพร้าว ถนน ลาดพร้าว แขวงวงั ทองหลาง เขต วงั ทองหลาง กรุงเทพ 10310', '12000', '1980-04-26'); 1.คลิก ท่ีตาราง employees
1.คลกิ ท่ี Tab SQL 2.เพ่มิ คาส่ัง INSERT INTO employees (id , fullname , address , salary , birthday ) VALUES (NULL, 'สมชาย ใจดี', '105 แขวง บางมด เขต ท่งุ ครุ กรุงเทพฯ 10140', '2500', '1987-06-28'), (NULL, 'สมหญิง สายเสมอ', '269/10 ซ.ลาดพร้าว ถนน ลาดพร้าว แขวงวงั ทองหลาง เขต วงั ทองหลาง กรุงเทพ 10310', '12000', '1980-04-26'); 3.คลกิ ป่ มุ Go 4.เม่ือเพ่มิ ข้อมูลเรียบร้อย
1.คลิก Tab Browse 2.จะแสดงข้อมูลท่ีเพ่มิ เข้ามา
การเช่อื มต่อ ฐานข้อมูล PHP MySQLi การเช่ือมตอ่ ฐานข้อมลู MySQL เราจะใช้ Function mysqli_connect และ กาหนดคา่ การเช่ือมตอ่ ฐานข้อมลู เช่น ชื่อ Server Name , Username , Password และชื่อฐานข้อมลู ลงไปใน Function สร้างไฟล์ connect.php ลงใน Folder Project ของเรา 1.สร้าง Folder ชือ basic เก็บไว้ท่ี Drive (ท่ีตดิ ตงั้ โปรแกรม XAMPP เช่น C://xampp/htdocs/basic) 2.สร้างไฟล์ connect.php เก็บไว้ท่ี C://xampp/htdocs/basic/connect.php ตวั อย่าง C://xampp/htdocs/basic/connect.php กาหนดค่าการเช่ือมต่อฐานข้อมูลดงั ภาพ ทดสอบการทางาน เปิ ด Web Browser พิมพ์ localhost/basic/connect.php หากเช่ือมตอ่ ฐานข้อมลู สาเร็จจะแสดงหน้าจอดงั ภาพ
การเรียกดูข้อมลู ในฐานข้อมูล 1. ก่อนอื่นจะต้องสร้างไฟล์ index.php ขนึ ้ มา และ นาเข้าไฟล์ connect.php ด้วยคาสง่ั require() เพื่อเชื่อมตอ่ กบั ฐานข้อมลู (ในตวั อยา่ งจะแสดงการเขียน Source Code ในไฟล์ index.php ทลี ะ ขนั้ ตอน) 2.สร้างตารางด้วย แทก็ table สาหรับเตรียมนาข้อมลู มาแสดง
3. สร้างตวั แปร $sql เก็บคาสงั่ SQL เรียกดขู ้อมลู จากตาราง employees เรียกใช้ ฟังชน่ั mysqli_query โดยรับคา่ ตวั แปร $conn (มาจากไฟล์ connect.php) และ ตวั แปร $sql และ นา ผลที่ได้ มาเก็บไว้ในตวั แปร $result 4.สร้างตวั แปร $i เพอ่ื ใช้แสดงลาดบั แสดงข้อมลู และ ใช้คาสง่ั if ตรวจสอบการทางานของ ฟังชนั่ mysqli_num_rows ($result) วา่ มีคา่ มากกวา่ 0 หรือไม่
5.ใช้คาสง่ั while เพ่อื นาข้อมลู ทไ่ี ด้จากฟังชน่ั mysqli_fetch_assoc มาเก็บไว้ท่ตี วั แปร $row แสดงผล ข้อมลู จากฐานข้อมลู ทีอ่ ยตู่ วั แปล $row ตามช่ือ คอลมั น์ในตาราง employees และเพม่ิ คา่ $i ทลี ะ 1 6.ทดสอบการทางาน พมิ พ์ localhost/basic/index.php ใน Web Browser
ตวั อยา่ ง SourceCode ไฟล์ index.php ทงั้ หมด
การสร้างฟอร์มบนั ทกึ ข้อมูล การสร้างฟอร์มบนั ทกึ ข้อมลู ในตวั อยา่ ง จะทาการสร้างไฟล์ add_form.php สาหรับ สร้างฟอร์ม และ สร้างไฟล์ data.php สาหรับรับข้อมลู จากฟอร์ม บนั ทกึ เข้าสฐู่ านข้อมลู ตวั อย่างไฟล์ add_form.php
ตัวอย่างไฟล์ data.php ในตวั อยา่ งจะ ใช้เป็ นการรับคา่ ข้อมลู มาจาก ไฟล์ add_form.php ในรูปแบบ POST บรรทดั ที่ 3 ใช้คาสงั่ require() นาเข้าไฟล์ connect.php เพื่อเชื่อมตอ่ ฐานข้อมลู บรรทดั ที่ 6 ใช้คาสงั่ if ตรวจสอบ คา่ ในตวั แปรรูปแบบ POST วา่ มี คา่ Key เทา่ กบั fullname สง่ มาหรือไม่ บรรทดั ท่ี 8 – 14 รับคา่ จากตวั แปร POST และ เก็บข้อมลู ลงในตวั แปรของแตล่ ะ คอลมั น์ บรรัทดท่ี 16 ตวั แปร $sql เก็บคา่ คาสงั่ สาหรับ เพ่ิมข้อมลู ลงฐานข้อมลู
Search