ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ PHP เบื้องต้น

การสลับสีตารางแบบง่ายๆ PHP MySQLi

สำหรับวิธีการสลับสีตารางแบบง่ายๆ ในตัวอย่างนี้ จะเป็นการเปลี่ยนสี bgcolor โดยจะตรวจสอบก่อนว่ารหัสตรงกันหรือไม่ ถ้าตรงกันก็ใช้สีเดิม แต่ถ้ารหัสเปลี่ยนก็ใช้อีกสีสลับกันไป โค้ด PHP ตัวอย่าง

สร้างตารางแสดงยอดจองในแต่ละเดือน PHP + mysqli

จากบทความเมื่อหลายปีก่อน  สร้างปฏิทิน รายงานยอดที่พนักงานทำได้ในแต่ละเดือนแบบง่ายๆ  จนถึงทุกวันนี้ฟังก์ชั่น mysql_xxx() ก็เริ่มเลิกใช้กันแล้ว เพราะเว็บโฮสติ้งรองรับ PHP 5.5 ได้เป็นอย่างต่ำก็เลยต้องปรับปรุงโค้ดกันสักหน่อย ในครั้งนี้ก็จะนำเสนอเป็นวิดีโอเพื่อให้เห็นภาพการทำงานที่ชัดเจนขึ้น ท่านสามารถเปิดเข้าไปดูได้ตามด้านล่างนี้เลยครับ

เริ่มต้นเขียน PHP ยังไงดี?

"จะเริ่มจากตรงไหนดี" เป็นคำถามที่เกิดขึ้นในใจหลายๆท่าน เมื่อต้องเริ่มต้นทำอะไรสักอย่างหนึ่ง สำหรับการเขียนโปรแกรมแล้ว จริงๆตามหลักสูตร 4ปี ในรั้วมหาวิทยาลัยแล้ว จะต้องเรียนรู้หลายอย่าง อัลกอริทึม การออกแบบฐานข้อมูล การควบคุมโครงการ หลักการเขียนโปรแกรม อะไรต่อมิอะไรเยอะแยะที่ต้องใช้เวลาถึง 4 ปีเพื่อพื้นฐานที่ครอบคลุมทั้งหมด แต่สำหรับการเรียนรู้แบบเร่งรัดด้วยตัวเองนั้น ผมขอแนะนำดังนี้ กรณีที่ไม่ได้รีบร้อน ให้ท่านตรงไปที่ร้านหนังสือแล้วไปยังโซนหนังสือคอมพิวเตอร์ แล้วเลือกเล่มที่ระบุว่าเป็นคู่มือ หรือ PHP พื้นฐานอะไรประมาณนี้ แล้วซื้อเก็บไว้สัก 1 เล่ม อ่านผ่านๆไปหนึ่งรอบเพื่อดูภาพรวม จากนั้นก็อ่านอีกรอบโดยทำตามตัวอย่างทุกบทไปเรื่อยๆ เมื่อทำครบท่านจะรู้สึกได้เองว่า ต้องทำอะไรสักอย่างที่นอกเหนือจากที่มีในหนังสือเล่มนี้ เราก็จะถึงขั้นตอนต่อไป กรณีที่มีเวลาจำกัด หรืออยากจะทำโปรเจ็กต์เร่งด่วน ค้นหาข้อมูลในอินเตอร์เน็ต ดาวน์โหลดซอร์สโค้ดที่แจกให้ใช้มาลองใช้งานดู และปรับแต่งส่วนต่างๆให้เข้ากับงานของตัวเอง ซึ่งตรงนี้ถ้ายังรู้สึกว่ายากเกินไป ก็ให้เริ่มจากทำตาม Workshop ง...

การใช้ PHP Template Engine ด้วย TPLN template

       การใช้ PHP Template Engine เป็นการแยกระหว่างโค้ด PHP กับ HTML ซึ่งจะทำให้ซอร์สโค้ดดูสะอาดตา แล้วก็ยังสามารถแยกส่วนการทำงานระหว่าง Front-End กับ Back-End ออกจากกันได้ด้วย

ติดตั้ง xampp 5.5.24 เพื่อใช้เขียน PHP 5.5

STEP 1 : Download  เราจะใช้แพกเกจจากเว็บไซต์ Apache FriendsXAMPP :  Apache + MySQL + PHP + Perl โดยรุ่นที่จะใช้งานคือต้องมี PHP 5.5 ซึ่งรุ่นที่มียอดดาวน์โหลดมากที่สุดก็คือ xampp 5.5.24 และเพื่อความสะดวกสำหรับการใช้งานหลายเวอร์ชั่น ผมจึงดาวน์โหลดรุ่นที่เป็น Portable xampp-portable-win32-5.5.24-0 -VC11 (ซึ่งมียอดดาวน์โหลดมากที่สุดของรุ่นเดียวกัน) STEP 2 : Setup หลังจากดาวน์โหลดเรียบร้อยก็ให้ทำการแตกไฟล์ออกมา ก็จะได้โฟลเดอร์ xampp และเมื่อเปิดเข้าไปก็จะเจอไฟล์ดังรูปซึ่งที่จะมีขั้นตอนการติดตั้งดังนี้     2.1 ดับเบิ้ลคลิกไฟล์ setup_xampp.bat เพิ่มเริ่มระบบโปรแกรมจะทำการตั้งค่าให้โฟลเดอร์ xampp ในปัจจุบันนี้สามารถใช้เป็นเว็บเซิร์ฟเวอร์ได้ (สามารถย้าย xampp ไปไดร์ฟอื่นๆได้นะครับ)     2.2 หลังจากดำเนินการเรียบร้อยให้ลอง Start ทั้ง Apache และ MySQL ว่าจะทำงานได้หรือไม่ ถ้ากรณีไม่เคยมีโปรแกรมเว็บเซิร์ฟเวอร์มาก่อน ตัวเลข PID และ Port จะปรากฏขึ้น     2.4 กรณีขึ้นสีแดง แล้วหายไป แสดงว่าไม่สามารถทำงานได้ เท่าที่เจ...

สอนเขียนโปรแกรม PHP : การดึงข้อมูลจากฐานข้อมูลมาแสดงผ่าน AJAX ด้วย AngularJS $http

หลักการทำงานก็คือ AngularJS จะส่งข้อมูลในรูปแบบ AJAX ไปยังหน้าเป้าหมายก็คือ hotel.php เพื่อนำข้อมูลจากฐานข้อมูล MySQL ในตาราง hotel ทั้งหมดส่งออกมาเป็น json ด้วยคำสั่ง echo json_encode( Array ) จากนั้นเมื่อส่งกลับมา AngularJS ก็จะทำการสร้างแถว TR ขึ้นมาใหม่ตามจำนวนอาร์เรย์ที่ PHP สร้างไว้ด้วยฟังก์ชั่น ng-repeat ไฟล์ template จะสร้างตาราง HTML เปล่าขึ้นมารอรับค่าเมื่อกดปุ่ม Load ข้อมูล

การใช้งาน AngularJS ร่วมกับ PHP เพื่อนำข้อมูลไปแสดงแบบวนลูปใน tr

ส่วนของโค๊ด PHP จะทำหน้าที่เชื่อมต่อฐานข้อมูล และแสดงรายการทั้งหมดจากตาราง hotel ออกมาเก็บไว้ที่ตัวแปร $list_array ซึ่งจัดให้อยู่ในรูปแบบ JSON ด้วยฟังก์ชั่น json_encode() วิดีโอ <?php     /**      * Database Connection      */     try {         $db_conn = new PDO('mysql:host=localhost;dbname=crdev_db', 'crdev', 'cr2015');         $db_conn -> exec("SET CHARACTER SET utf8");     } catch (PDOException $e) {         echo "Could not connect to database";         exit;     }     // Clear     $error_message = '';     $condition = '';     $where = '';       $list_array = '';     $sql = 'SELECT name, place FROM hotel ' . $where;     try { ...

การเขียนโปรแกรม PHP กับการใช้งานฟังก์ชั่น isset()

 การเขียนโปรแกรม PHP มีฟังก์ชั่นอาจจะยอดฮิต (หรือเพียงแค่จำเป็น) ที่ใช้กันปัจจุบันนี้คือ isset() ถ้าโปรแกรมที่ใช้ซอร์สโค๊ดเก่า และนำไปรันกับเซิร์ฟเวอร์ใหม่ PHP ก็จะเป็นเวอร์ชั่นใหม่ตาม ทำให้การตั้งค่าการแสดง Error เปลี่ยนไปการเรียกใช้ตัวแปรที่ไม่มีอยู่จริง จะเกิดเป็นข้อผิดพลาดขึ้นเต็มหน้าเว็บเพจให้ได้อับอายกันไปเลยทีเดียว

การเขียน PHP เชื่อมต่อฐานข้อมูล MySQL

        สำหรับบทความนี้จะพูดถึงการเขียน PHP เพื่อเชื่อมต่อฐานข้อมูลแบบง่ายๆ ด้วยหลักการพื้นฐานเขียนทีละบรรทัด ทีละฟังก์ชั่นเพื่อให้เข้าถึงข้อมูลในฐานข้อมูล MySQL ได้ ตัวอย่างการใช้งานจริง PHP กับการเชื่อมต่อฐานข้อมูล MySQL

การรับตัวแปรจากแบบฟอร์ม ส่งค่าไปยังไฟล์ PHP

การรับค่าจากแบบฟอร์มนั้น PHP จะใช้ตัวแปรอยู่ 3 แบบด้วยกันคือ $_GET, $_POST, $_REQUEST ซึ่งแต่ละแบบจะมีการส่งค่าดังนี้ 1. $_GET จะส่งค่าผ่าน URL เราจะเห็นพารามิเตอร์ที่ส่งไปต่อท้าย URL ของหน้านั้นๆ 2. $_POST จะส่งแบบไม่แสดงพารามิเตอร์ให้เห็น  3. $_REQUEST จะเป็นตัวแปรที่ใช้รับค่าทั้งที่ส่งมาแบบ $_GET และ $_POST สำหรับขั้นตอนการค้นหาข้อมูลเพื่อนำมาทดสอบ เราจะใช้คีย์เวิร์ดดังนี้  เข้าไปที่เว็บไซต์ www.google.co.th แล้วค้นหาคำว่า "php การรับค่า ฟอร์ม" จากนั้นก็ลองนำซอร์สโค๊ดตัวอย่างมาทดลองดูว่าได้ผลอย่างไรบ้างและแตกต่างกันอย่างไร form.html <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>ทดสอบ การรับค่าผ่านฟอร์ม คำนวณพื้นที่สี่เหลี่ยม</title> </head> <body> <form action="test.php?id=5" method="post" name="frm_data"> <table width="500"> <caption><h3>ทด...

PHP กับการสร้างฟังก์ชั่น ใช้งานเอง

ฟังก์ชั่นที่มีอยู่แล้วใน PHP เป็นฟังก์ชั่นหลักที่ใช้งานได้ดีอยู่แล้ว แต่บางที ข้อมูลที่เราต้องการอาจจะต้องมีการปรับแต่งก่อนแสดงผล จึงเป็นเหตุผลว่าทำไมเราต้องสร้างฟังก์ชั่นขึ้น่มาใช้งานเอง ตัวอย่างฟังก์ชั่นที่สร้างขึ้นเอง แต่ก่อนที่เราจะตัดสินใจสร้างฟังก์ชั่นเอง เช่นฟังก์ชั่นการคูณ การหาร การหาร หรือเพิ่มลดวันที่ ให้ไปค้นหาในคู่มือ PHP ก่อนนะครับว่ามีรึยัง วิธีการง่ายๆ ก็คือค้นผ่านเครื่องมือค้นหาเช่น www.google.co.th ดูก่อนนะครับ ว่าในคู่มือ PHP มีรึยัง เช่นต้องการฟังก์ชั่นตัดคำ ก็ใช้คีย์เวิร์ดในการค้นหาว่า "php ตัดข้อความ" เราก็จะได้ฟังก์ชั่น substr() พร้อมตัวอย่างการใช้งาน รวมถึงวิธีแก้ปัญหากรณีต่างๆ ที่นำไปใช้แล้วได้ผลคลาดเคลื่อน ก็จะทำให้เราไม่ต้องเสียเวลามานั่งงมโข่งหาเอาเอง

PHP กับการทำซ้ำ ด้วยฟังก์ชั่น for()

PHP การการทำงานแบบวนลูป (Loop) การวนลูปเป็นเทคนิคในงานเขียนโปรแกรมที่ช่วยลดระยะเวลาในการทำสิ่งที่ต้องทำซ้ำแล้วซ้ำอีกหลายๆ รอบ เช่นการสร้างตารางแสดงสถิติคะแนนของนักเรียน ถ้ามีนักเรียนอยู่ 100 คน การที่เราจะมานั่งเขียนโค๊ดหลายร้อยบรรทัดเพื่อแสดงข้อมูลเหล่านี้นั้น จึงเป็นอะไรที่ซ้ำซ้อนเกินไป ดังนั้น เราจึงต้องใช้คำสั่งในการวนลูปข้อมูลออกมาแสดงตามรูปแบบที่เรากำหนด เพื่อย่นระยะเวลาในการทำงานที่ซ้ำๆ ซึ่งคำสั่งที่ผมชอบใช้จะมี  for(), foreach(), while() ซึ่งจะเป็นคำสั่งที่ใช้งานง่ายๆครับ และส่วนใหญ่การวนลูปมักจะได้ใช้กับข้อมูลที่เป็นอาร์เรย์นะครับ ตัวอย่างที่ 1 ฟังก์ชั่น for() echo "<pre>"; for($i=0;$i<=10;$i++){ echo "ลำดับที่ $i \n"; } echo "</pre>";

ข้อมูลชนิดอาร์เรย์ PHP Array

ข้อมูลชนิดอาร์เรย์        ข้อมูลอาร์เรย์ เป็นรูปแบบข้อมูลที่มีความสำคัญมาก กับงานเขียนโปรแกรม จะใช้เก็บข้อมูลที่มีหลายมิติ หรือจะให้เข้าใจง่ายๆ ให้มองภาพของตาราง ที่มีหลายๆคอลัมน์ เช่น นักเรียน 1 คนมีข้อมูล ชื่อ นามสกุล ชั้นเรียน เกรดเฉลี่ย ที่อยู่ และข้อมูลอีกหลายอย่าง ดังนั้นการจะประกาศตัวแปรตามจำนวนข้อมูลทุกตัวนั้น จะเสียเวลาและเปลืองตัวแปรอย่างมาก         ดังนั้น การประกาศตัวแปรให้เป็นแบบ Array จึงช่วยให้งานเขียนโปรแกรมนั้นดูเป็นระเบียบเรียบร้อย และยังเรียกใช้งานได้สะดวก อย่างเช่นการดึงข้อมูลนักเรียนจากฐานข้อมูล เรามักจะพักข้อมูลไว้ในตัวแปรซึ่งจะเป็นแบบ Array เสมอ ตัวอย่างการสร้างข้อมูลแบบ Array ในภาษา PHP 

PHP if else คำสั่งเงื่อนไข และการตัดสินใจด้วย switch...case

ในการเขียนโปรแกรมนั้นสิ่งที่จะต้องเจอบ่อยๆ คือเงื่อนไขการตัดสินใจ เช่นการให้เกรดของอาจารย์ ก็ต้องมีการกำหนดเงื่อนไขว่า คะแนนเท่าไหร่จะได้เกรดอะไร เช่น คะแนน เกรด 0 – 49 0 50 – 59 1 60 – 69 2 70 – 79 3 80 – 100 4 รูปแบบการเขียนโค๊ด ดังนี้ ตัดสินใจเงื่อนไขเดียว if( $score < 50 ){ echo "<br/>คุณได้เกรด 0"; } การตัดสินใจแบบหลายเงื่อนไข <?php $score = 70; if( $score >= 80 ){ echo "คุณได้เกรด A"; }else if( $score >= 70 && $score < 80 ){ echo "คุณได้เกรด B"; }else if( $score >= 60 && $score < 70 ){ echo "คุณได้เกรด D"; }else if( $score >= 50 && $score < 60 ){ echo "คุณได้เกรด D"; }else{ echo "คุณสอบตก"; } ?>

PHP เรียนรู้เกี่ยวกับโอเปอเรเตอร์

โอเปอเรเตอร์ คือคำสั่งหรือสัญลักษณ์ที่ใช้ในการจัดการกับตัวแปร เช่นคำนวณ กำหนดค่า เปรียบเทียบ และเกี่ยวกับตรรกศาสตร์ต่างๆ แบ่งได้ดังนี้

PHP กับการกำหนดตัวแปร และชนิดของข้อมูล

ทำไมต้องมีตัวแปร ให้วุ่นวาย? : เพราะมีค่าบางค่าที่ไม่แน่นอน เป็นค่าที่ไม่ตายตัวจะแสดงผลตามที่ผู้ใช้เลือก หรือป้อนเข้ามาเช่นหน้าเว็บแสดงข้อมูลบุคคล เขียนหน้าเดียวแต่จะแสดงข้อมูลของหลายๆคนได้ ด้วยการเลือกแสดงผลจากตัวแปรที่ส่งมาที่หน้าเว็บในแต่ละครั้ง

โครงสร้างของการเขียนโปรแกรมภาษา PHP

การเขียน PHP   จะต้องเขียนอยู่ในแท็ก <?php และ ?>     หรือ      <? และ ?> แบบที่สองนั้นจะเป็นแท็กแบบย่อซึ่งเครื่องที่ให้บริการฝากเว็บ หรือเครื่องที่จำลองเว็บเซิร์ฟเวอร์ไว้ จะต้องเปิดให้ใช้งานได้ก่อน มิเช่นนั้นจะเกิดการแจ้งเตือนข้อผิดพลาดขึ้นได้ โค๊ด PHP ที่เขียนขึ้นนั้นจะต้องบันทึกเป็นไฟล์ที่มีส่วนขยายเป็น *.php เช่น  index.php ตัวอย่างคำสั่งแบบที่ 1 <html> <body> <?php $name = “Songchai” echo “สวัสดีฉันชื่อ “ . $name . ”<br/>”; ?> <hr> ยืนยัน :: <input type=”text” value=” <?php echo $name ; ?> ” /> </body> </html> ผลลัพธ์ดังนี้

PHP คืออะไร

       พีเอชพี (PHP) คือ ภาษาคอมพิวเตอร์ ในลักษณะ เซิร์ฟเวอร์-ไซด์ สคริปต์ โดยลิขสิทธิ์อยู่ในลักษณะ โอเพนซอร์ส ภาษาพีเอชพีใช้สำหรับจัดทำ เว็บไซต์ และแสดงผลออกมาในรูปแบบ HTML โดยมีรากฐานโครงสร้างคำสั่งมาจากภาษา ภาษาซี ภาษาจาวา และ ภาษาเพิร์ล ซึ่ง ภาษาพีเอชพี นั้นง่ายต่อการเรียนรู้ ซึ่งเป้าหมายหลักของภาษานี้ คือให้นักพัฒนาเว็บไซต์สามารถเขียน เว็บเพจ ที่มีความตอบโต้ได้อย่างรวดเร็ว ( ที่มา : http://th.wikipedia.org/ภาษาพีเอชพี ) จะให้เข้าใจง่ายๆ ก็คือเครื่องมือที่ใช้สำหรับเขียนโปรแกรมติดต่อกับฐานข้อมูล เพื่อนำไปแสดงผลบนอินเตอร์เน็ตตามความต้องการของผู้ใช้งานที่คลิกเข้าไปนั่น เอง การเขียนโปรแกรมจะมีอยู่ 2 แบบครับ (ส่วนของ MOBILE APP จะขอไม่กล่าวถึงนะครับ ^^") Windows based Application (Desktop Application) Web based  Apllication จะมีข้อแตกต่างอย่างเห็นได้ชัดอย่างหนึ่งคือ การเรียกใช้ทรัพยากรของเครื่องต่างกัน 1. Windows based คือโปรแกรมที่ต้องติดตั้งกับเครื่องของผู้ใช้แต่ละคนแต่ละเครื่องโดยที่อาจ จะใช้ฐานข้อมูลเซิร์ฟเวอร์เดียวกั...