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

บทความ

กำลังแสดงโพสต์จาก พฤษภาคม, 2017

การส่งค่าผ่านแบบฟอร์มและลิงค์ไปยังไฟล์ PHP และการรับค่าผ่านตัวแปรต่างๆ

การรับค่าจากแบบฟอร์มนั้น PHP จะใช้ตัวแปรอยู่ 3 แบบด้วยกัน คือ  $_GET, $_POST, $_REQUEST ซึ่งแต่ละแบบจะมีการส่งค่าดังนี้ 1. $_GET จะส่งค่าผ่าน URL เราจะเห็นพารามิเตอร์ที่ส่งไปต่อท้าย URL ของหน้านั้นๆ 2. $_POST จะส่งแบบไม่แสดงพารามิเตอร์ให้เห็นส่วนใหญ่จะใช้กับการส่งค่าใน HTML FORM 3. $_REQUEST จะเป็นตัวแปรที่ใช้รับค่าได้ทั้งที่ส่งมาแบบ $_GET และ $_POST สำหรับขั้นตอนการค้นหาข้อมูลเพื่อนำมาทดสอบ เราจะใช้คีย์เวิร์ดดังนี้ เข้าไปที่เว็บไซต์ www.google.co.th แล้วค้นหาคำว่า "php การรับค่า ฟอร์ม" จากนั้นก็ลองนำซอร์สโค๊ดตัวอย่างมาทดลองดูว่าได้ผลอย่างไรบ้างและแตกต่างกันอย่างไร การส่งค่าผ่าน HTML FORM และ เมนูลิงค์ต่างๆ <html>    <head>        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />        <title>ทดสอบ การรับค่าผ่านฟอร์ม คำนวณพื้นที่สี่เหลี่ยม</title>    </head>    <body>    | <a href="form-reque...

PHP สำหรับผู้เริ่มต้น : การเขียน SQL คิวรี่ ค่าน้ำ ค่าไฟ เดือนที่แล้วและเดือนปัจจุบัน ด้วย MIN, MAX

จากบทความที่แล้ว " PHP สำหรับผู้เริ่มต้น : การเขียน SQL คิวรี่ ค่าน้ำ ค่าไฟ เดือนที่แล้วและเดือนปัจจุบัน " ได้แนะนำวิธีการเขียน Query ข้อมูลค่าน้ำค่าไฟเดือนก่อนและเดือนปัจจุบันให้อยู่ในแถวเดียวกัน ด้วยการใช้ SUM ร่วมกับ IF แต่ผู้เขียนเห็นว่า การใช้ SUM ส่วนใหญ่แล้วจะเป็นการหาผลรวม มากกว่าการหาผลลัพธ์เพียงรายการเดียว ดังนั้นจึงเห็นว่าควรเปลี่ยนไปใช้ MIN กับ MAX เป็นการหาค่าน้อยสุด และมากสุด ตามช่วงเวลาที่ระบุในแบบฟอร์มค้นหา [ PHP CODE ] <?php $user = 'tobedev'; $pass = 'abcd.1234'; ?> <html> <head> <title>CODEMANIA.BLOGSPOT.COM</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> <style>     .highlight {         background-color: #FFFF88;     }     .red_text{         color : red;     } ...

PHP สำหรับผู้เริ่มต้น : การเขียน SQL คิวรี่ ค่าน้ำ ค่าไฟ เดือนที่แล้วและเดือนปัจจุบัน

การ Query ข้อมูล ค่าน้ำค่าไฟเพื่อนำมาคำนวณ ดูตัวอย่างได้จาก Video ด้านล่างนี้ [PHP Code] <?php $user = 'tobedev'; $pass = 'abcd.1234'; ?> <html> <head> <title>CODEMANIA.BLOGSPOT.COM</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="css/bootstrap.min.css"> <style>     .highlight {         background-color: #FFFF88;     }     .red_text{         color : red;     }         table th,table td{         text-align: center !important;     } </style> </head> <body>     <?php                 $year = isset($_GET['year']) ? $_GET['year'] : date('Y');  ...

jQuery Autocomplete ค้นหาจากตัวแปร Array ใน JavaScript ที่สร้างไว้

Autocomplete https://jqueryui.com/autocomplete/#custom-data แนะนำการใช้งาน Autocomplete โดยการค้นหาจากตัวแปร Array ใน JavaScript ที่สร้างไว้ โดยใช้ jQuery UI ในการแสดงผล [jQuery Code] <!doctype html> <html lang="en"> <head>   <meta charset="utf-8">   <meta name="viewport" content="width=device-width, initial-scale=1">   <title>jQuery UI Autocomplete - Custom data and display</title>   <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">   <style>   #project-label {     display: block;     font-weight: bold;     margin-bottom: 1em;   }   #project-icon {     float: left;     height: 32px;     width: 32px;   }   #project-description {     margin: 0;     padding: 0;   }   </...

เขียนโค้ด SQL หาสินค้าตัวไหนที่เราขายดีที่สุด

PHP สำหรับผู้เริ่มต้น : เขียนโค้ด SQL หาสินค้าตัวไหนที่เราขายดีที่สุด ใช้การ SUM ฟิลด์ที่เป็นจำนวนยอดขาย แล้ว GROUP BY ด้วยหัวข้อที่เราต้องการนับในที่นี้ ก็คือ ชื่อสินค้า เรียงลำดับจากมากไปน้อยด้วย ORDER BY ...... DESC แล้วก็จำกัดจำนวนแถวที่ต้องการแสดงด้วย LIMIT [Database SQL] -- -- Table structure for table `sales_history` -- CREATE TABLE IF NOT EXISTS `sales_history` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `product` varchar(30) NOT NULL,   `amount` int(7) NOT NULL,   `date_sale` date NOT NULL,   `contact_id` varchar(7) NOT NULL,   PRIMARY KEY (`id`) ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ; -- -- Dumping data for table `sales_history` -- INSERT INTO `sales_history` (`id`, `product`, `amount`, `date_sale`, `contact_id`) VALUES (1, 'ดินสอ', 20, '2017-04-15', '6001001'), (2, 'ไม้บรรทัด', 5, '2017-04-16', '6001002'), (3, 'ปากกา', 15, '2017-04-17', '6001003...

สร้างหน้าเว็บ PHP ไฟล์เดียว แต่เปลี่ยนข้อมูลหลายๆหน้า

PHP สำหรับผู้เริ่มต้น : สร้างหน้าเว็บ PHP ไฟล์เดียว แต่เปลี่ยนข้อมูลหลายๆหน้า  ตัวอย่างนี้จะใช้เทคนนิคการ include() ไฟล์หน้าเว็บอื่นๆมาแสดงโดยตรวจสอบเงื่อนไขที่ค่า GET ในชื่อ page ที่ส่งมาแต่ละครั้งที่คลิกลิงค์เมนู PHP  CI  MANIA   -  PHP Code Generator  โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม เขียนโปรแกรมง่ายและสะดวกขึ้น สนใจสั่งซื้อราคาสุดคุ้ม >>  http://fastcoding.phpcodemania.com/

select2 ช่องค้นหาพิมพ์ไม่ได้ ไม่ทำงานบน Modal ของ Bootstrap

เสียเวลาอยู่เป็นชั่วโมงกับปัญหา พิมพ์ค้นหาในช่อง select box ของ select2 ไม่ได้ วิธีแก้ไขก็แค่ลบ tabindex ออก ดังภาพด้านล่างนี้เท่านั้นเองแหละครับ เพิ่มเติม $("#select2insidemodal").select2({ dropdownParent: $("#myModal") }); ที่มา : http://stackoverflow.com/questions/18487056/select2-doesnt-work-when-embedded-in-a-bootstrap-modal/18487440#18487440 PHP  CI  MANIA   -  PHP Code Generator  โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม เขียนโปรแกรมง่ายและสะดวกขึ้น สนใจสั่งซื้อราคาสุดคุ้ม >>  http://fastcoding.phpcodemania.com/

PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ ตอนที่ 3

PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ สำหรับวิดีโอนี้จะนำเสนอตัวอย่างการเขียนโค้ดตรวจสอบวันหยุด โดยจะมีเนื้อหาเกี่ยวกับการหาจำนวนวันในระหว่างช่วงวันที่ 2 วันที่กำหนดไว้ จะได้เรียนรู้เกี่ยวกับฟังก์ชั่น  strtotime()  ที่ใช้แปลงวันที่เป็นวันใรรูปแบบเวลา เพื่อใช้คำนวณ การใช้  date("w", strtotime($date))  เพื่อหาค่าวันประจำสัปดาห์ นอกจากนี้ยังมีฟังก์ชั่นที่ทำงานด้าน Array เพิ่มเข้ามาอีกด้วย คือ array_count_values ()   สำหรับนับกลุ่มอาร์เรย์ที่เหมือนกัน เช่น นับจำนวนวันประจำสัปดาห์ array_map ()   สำหรับใช้แทนการ Loop แบบทำงานเฉพาะทาง เช่น ต้องการวันประจำสัปดาห์ array_intersect ()   สำหรับคัดเลือก Array ที่ตรงกับที่ต้องการ iterator_count ()   สำหรับนับจำนวน Object ที่สร้างจาก  DatePeriod Class [Source Code] <html> <head> <meta charset="UTF-8"> <title>[REVIEW BY Cyberman] ThaiCreate.Com Tutorial</title> </head> <body> <?php function connect_...

PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ ตอนที่ 2

PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ สำหรับวิดีโอนี้จะนำเสนอตัวอย่างการเขียนโค้ดตรวจสอบวันหยุด โดยจะมีเนื้อหาเกี่ยวกับการหาจำนวนวันในระหว่างช่วงวันที่ 2 วันที่กำหนดไว้ จะได้เรียนรู้เกี่ยวกับฟังก์ชั่น  strtotime()  ที่ใช้แปลงวันที่เป็นวันใรรูปแบบเวลา เพื่อใช้คำนวณ การใช้  date("w", strtotime($date))  เพื่อหาค่าวันประจำสัปดาห์ Source Code ดาวน์โหลดที่   http://phpcodemania.blogspot.com/2017/05/php-checking-work-day-1.html ติดตามตัวอย่างตอนที่ 3 ที่นี่ PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ ตอนที่3

PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ ตอนที่ 1

PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ สำหรับวิดีโอนี้จะนำเสนอตัวอย่างการเขียนโค้ดตรวจสอบวันหยุด โดยจะมีเนื้อหาเกี่ยวกับการหาจำนวนวันในระหว่างช่วงวันที่ 2 วันที่กำหนดไว้ จะได้เรียนรู้เกี่ยวกับฟังก์ชั่น  strtotime() ที่ใช้แปลงวันที่เป็นวันใรรูปแบบเวลา เพื่อใช้คำนวณ การใช้  date("w", strtotime($date)) เพื่อหาค่าวันประจำสัปดาห์ [Source Code] <html> <head> <meta charset="UTF-8"> <title>[REVIEW BY Cyberman] ThaiCreate.Com Tutorial</title> </head> <body> <?php function CheckPublicHoliday($strChkDate) { $objConnect = mysqli_connect("localhost","tobedev","abcd.1234") or die("Error Connect to Database"); $objDB = mysqli_select_db($objConnect, "test"); $strSQL = "SELECT * FROM public_holiday WHERE PublicHoliday = '".$strChkDate."' "; $objQuery = mysqli_query($objConnect, $strSQL); $objR...

ระบบบันทึกคะแนนเก็บ นักเรียน/นักศึกษา

แจกโครงสร้างฐานข้อมูลไปก่อน 3 ตาราง แล้วจะมาอัพเดตวิดีโอสอนนานๆครับ ^^; -- -- Table structure for table `tb_student_list` -- CREATE TABLE IF NOT EXISTS `tb_student_list` (   `std_id` int(11) NOT NULL AUTO_INCREMENT,   `std_code` varchar(4) NOT NULL,   `prename` varchar(6) NOT NULL,   `firstname` varchar(50) NOT NULL,   `lastname` varchar(50) NOT NULL,   `nickname` varchar(20) NOT NULL,   `alias` varchar(30) NOT NULL COMMENT 'ฉายา/เพื่อนเรียก',   `gender` varchar(10) NOT NULL,   `birthday` date NOT NULL,   `address` varchar(250) NOT NULL,   `tel_number` varchar(50) NOT NULL,   `email` varchar(50) NOT NULL,   PRIMARY KEY (`std_id`),   UNIQUE KEY `std_code` (`std_code`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='รายชื่อนักเรียน' AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Table structure for table `tb_student_score_detail` -- CREATE TABLE IF NOT EXISTS `tb_studen...

PHP สำหรับผู้เริ่มต้น : การคำนวณผลรวม เมื่อเปลี่ยนแปลงตัวเลขใน Textbox

การคำนวณผลรวม เมื่อเปลี่ยนแปลงตัวเลขใน Textbox จะเป็นการใช้ JavaScript วนลูปตามชื่อของ textbox ( name="price[]" ) เพื่อนำค่าที่ได้บวกเพิ่มเข้าไปในตัวแปร sum แล้วก็แสดงผลในช่องผลรวม sumprice <html> <head> <meta charset="UTF-8"> <script language="JavaScript"> function fncSum() { var num = ''; var sum = 0; for(var i=0;i<document.frmprice['price[]'].length;i++){ num = document.frmprice['price[]'][i].value; if(num!=""){ sum += parseFloat(num); } } document.frmprice.sumprice.value = sum; } </script> </head> <body> <h2>การคำนวณผลรวม เมื่อเปลี่ยนแปลงตัวเลข</h2> <form name="frmprice" method="POST"> <table> <?php for($i=1;$i<=5;$i++){ ?> <tr> <td><input type="text" name="price[...

PHP สำหรับผู้เริ่มต้น : การกำหนดค่าเริ่มต้น ให้กับตัวแปรในภาษา PHP

<?php $view = isset($_GET['str']) ? $_GET['str'] : ''; if($view==''){ $view = 'c'; } if($view=="a"){ echo'String A'; }else if($view=='b'){ echo 'String B'; }else if($view=='c'){ echo'String C'; } ?>

ค้นหาในเว็บไซต์

เนื้อเพลงที่ได้รับความนิยม ในรอบสัปดาห์

การทำ Index ให้ MySQL Database เพื่อเพิ่มความเร็ว

สำหรับตัวอย่างนี้จะเป็นการ JOIN ตาราง 2 ตาราง 1. tb_reject_hd 2. tb_reject_desc ซึ่งจะเชื่อมกันด้วยฟิลด์ docno จะเห็นว่าเราสามารถคิวรี่เรียกข้อมูลออกมาได้ตอนที่ยังไม่ใส่ ORDER BY แต่เมื่อใส่ ORDER BY เข้าไป จะหมุนค้างจนหน้าเว็บหยุดทำงาน จากนั้นก็ลองเพิ่ม INDEX ให้กับฟิลด์ docno ในตาราง tb_reject_desc  ซึ่งในตัวอย่างนี้จะสร้างตารางใหม่ขึ้นมาจากตารางเดิม เปลี่ยนชื่อเป็น tb_reject_desc_with_index และทำการเพิ่ม INDEX KEY เข้าไป เมื่อทดสอบคิวรี่แบบมี ORDER BY จะเห็นว่าสามารถแสดงผลได้ทันที จากการสังเกตตัวเลขเวลาในการประมวลผล จะเห็นได้ว่าแบบไม่ใช้ ORDER BY จะทำงานเร็วกว่า แต่ในการทำงานส่วนใหญ่ก็มักจะต้องใช้ ORDER BY อย่างหลีกเลี่ยงไม่ได้ เช่นกรณีค้นหา แบบเรียงลำดับ ตัวอย่างโค้ดคิวรี่ข้อมูลจากตารางที่ Add Index Key แล้ว <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Add Index Key</title> </head> <body> <h2>ORDER BY with ...

PHP CI MANIA 0.8.4.09 แก้ไขปัญหา Import ไฟล์ Excel แล้วไม่สามารถบันทึกได้ + เพิ่มตัวเลือก Validate บางฟิลด์

- เพิ่มตัวเลือก Validate บางฟิลด์ กรณีละเว้นการตรวจสอบให้เอาเครื่องหมายเช็คถูกออก -  แก้ไขปัญหา Import ไฟล์ Excel แล้วไม่สามารถบันทึกได้ สมาชิก Premium ดาวน์โหลดได้ที่ http://fastcoding.phpcodemania.com/index.php/downloads PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    http://fastcoding.phpcodemania.com

แจกโค้ด PHP : รวมลิงค์ แจกฟรี!! ตัวอย่างโปรเจ็กต์ ที่พัฒนาด้วย PHP

       สำหรับหลายท่านที่ขอโค้ดเข้ามาทาง Inbox ของเฟซบุ๊กแฟนเพจ หรือถามถึงระบบต่างๆหลังไมค์มานั้น ส่วนใหญ่ก็มีแจกอยู่แล้วในเว็บบอร์ด ThaiCreate.Com นะครับ  และด้านล่างนี้ก็เป็น Source Code PHP ระบบต่างๆ ที่มีเหล่าผู้ใจดีแจกฟรี!! ให้นำไปลองใช้ลองศึกษากันครับ แจกฟรี  !! ตัวอย่างการ  PHP  Booking # จองห้องประชุม  ผ่านเว็บครับ http://www.thaicreate.com/php/forum/090558.html ระบบแบบสอบถาม https://www.thaicreate.com/php/forum/099342.html แจก code!! การทำประเมินออนไลน์มี ไว้สำหรับพัฒนาต่อยอด https://www.thaicreate.com/php/forum/102203.html แจกฟรี PHP CodeIgniter CMS ให้ทุกท่านได้ลอง (รองรับ Responsive) http://www.thaicreate.com/php/forum/122929.html โดย : https://www.cszcms.com/ แจก PHP : ระบบยืม-คืนเอกสาร (จากตัวอย่าง เอกสารข้อมูลวัตถุดิบสินค้า) http://www.thaicreate.com/php/forum/103428.html แจกระบบ PHP Shopping Cart ระบบตะกร้าสินค้า ระบบสั่งซื้อ มีระบบตัดสต๊อก, สั่งซื้อวัตถุดิบคงเหลือ ht...

การสร้างเว็บไซต์ในปี 2023 นั้นจะต้องคำนึงถึงอะไรบ้าง

การสร้างเว็บไซต์ในปี 2023 นั้นจะต้องคำนึงถึงความเปลี่ยนแปลงของเทคโนโลยีและแนวโน้มการใช้งานของผู้ใช้ใหม่ๆ ดังนั้น นี่คือเทคนิคที่สามารถช่วยให้การสร้างเว็บไซต์ในปี 2023 เป็นไปได้อย่างรวดเร็วและเป็นประสิทธิภาพ: 1. ใช้ Responsive Design: การออกแบบเว็บไซต์ให้สามารถปรับขนาดได้ตามขนาดของหน้าจอของอุปกรณ์ต่างๆ เช่น โทรศัพท์มือถือ แท็บเล็ต และคอมพิวเตอร์ เพื่อให้ผู้ใช้สามารถเข้าถึงและใช้งานได้ง่ายและสะดวก 2. ใช้โครงสร้างของ HTML5: การใช้โครงสร้าง HTML5 จะช่วยให้เว็บไซต์ของคุณมีประสิทธิภาพและปรับปรุงในเรื่องของการเข้าถึงข้อมูล การใช้งานและความปลอดภัย 3. ใช้ CSS Grids หรือ Flexbox: การใช้ CSS Grids หรือ Flexbox จะช่วยให้ง่ายต่อการจัดหน้าเว็บไซต์ และสามารถปรับแต่งรูปแบบของเว็บไซต์ได้ง่ายขึ้น 4. ใช้ JavaScript Frameworks: การใช้ JavaScript Frameworks เช่น React, Angular, หรือ Vue.js จะช่วยให้สามารถสร้างเว็บไซต์ที่เป็น interactive และมีประสิทธิภาพได้อย่างรวดเร็ว 5. ใช้ Content Management Systems (CMS): การใช้ CMS เช่น WordPress, Joomla, หรือ Drupal จะช่วยให้สามารถสร้างเว็บไซต์ได้อย่างร PHP  C...

PHP กับจัดการฐานข้อมูลหมวดหมู่สินค้า MySQL แบบใช้ตารางเพียงตารางเดียวเท่านั้น

การเขียนโปรแกรม PHP แสดงหมวดหมู่สินค้า สำหรับโครงสร้างฐานข้อมูลแบบทั่วไปเมื่อมีรายการย่อย เราจะใช้หลักการ One -> Many คือมี 1 ตารางหมวดหมู่หลัก และมีอีก 1 ตารางเป็นหมวดหมู่ย่อย แต่ปัญหาของกรณีแยกตารางออกจากกันนี้ ตัวผู้เขียนพบปัญหาว่าเมื่อมีหมวดหมู่ย่อยลงไปอีก  3 ชั้นบ้าง 4 ชั้นบ้าง หรืออาจจะมีหมวดย่อยไม่จำกัด ก็จะทำให้การเขียนโปรแกรมนั้นยากขึ้น เช่น การเขียนคำสั่ง SQL JOIN เพื่อดึงข้อมูลตารางที่ 2 มาแสดง SELECT        id, name FROM        tb_cate1 AS tbMaster INNER JOIN        tb_cate2 AS tbDetail ON tbMaster.id= tbDetail.ref_id WHERE        {เงื่อนไขที่ใช้ค้นหา} และเมื่อมีการเชื่อมหลายๆตาราง ก็จะทำให้หน้าเว็บทำงานได้ช้าลง (อ่านเรื่อง " การทำ Index ให้ MySQL Database เพื่อเพิ่มความเร็ว ") ดังนั้นผู้เขียนจึงได้ทำการปรับปรุงตาราง ให้เหลือตารางเดียว และกำหนดฟิลด์ ref_parent_id สำหรับใช้อิงหมวดหมู่หลักของรายการนั้นๆ ซึ่งถ้ามีค่าเป็น 0 แสดงว่าเป็นหมวดห...

PHP ระบบบริหารจัดการ พล็อตนิยาย - ตอนที่ 1

PHP Fiction Management System   โปรเจ็กต์นี้จะสร้างเป็น "ระบบบริหารจัดการพล็อตนิยาย" แบบง่ายๆ มาเล่าสู่กันฟังครับ มีอยู่ช่วงหนึ่งที่ผมสนใจการเขียนนิยาย และค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการเขียนนิยาย และได้พบกับโปรแกรมหนึ่งที่ช่วยงานด้านการเขียนนิยายให้เป็นเรื่องที่ง่ายขึ้น แต่จากที่ได้อ่านรีวิวแล้วดูเหมือนว่า โปรแกรมช่วยเขียนนิยายนี้ ไม่จะไม่ค่อยรองรับภาษาไทย แต่ผมก็ยังไม่ได้ลองมาดาวน์โหลดมาลองใช้งานดูนะครับ แต่รู้สึกชอบเครื่องมือนี้ เลยอยากลองพัฒนาโดยถอดคุณสมบัติพื้นฐานมาใช้งานดู ว่าจะใช้กับงานเขียนนิยายได้จริงรึเปล่า ตัวอย่างระบบจัดการพล็อตเรื่อง เพื่อช่วยงานเขียนนิยาย หลังจากที่ได้นั่งคิดนอนคิด และหลับไปฝันไป จนในที่สุดก็ได้ฐานข้อมูลระบบบริหารจัดการพล็อตนิยายมาคร่าวๆ มาจนได้ โครงสร้างฐานข้อมูลตอนนี้อาจจะขี้เหร่ไปบ้าง แต่ในอนาคตก็คงจะพัฒนากันต่อไป   ตารางที่จะต้องสร้าง มีทั้งหมด ดังนี้ 1. รายชื่อนิยายทั้งหมด 2. แนวนิยายที่เขียน 3. พล็อตของแต่ละเรื่อง 4. ฉากเหตุการณ์ในแต่ละพล็อต 5. เนื้อเรื่องในแต่ละฉาก 6. รายชื่อตัวละครในนิยา...

ออกแบบระบบ Login อย่างง่ายด้วย CodeIgniter Framework

โครงสร้างการจัดวางไฟล์ application/ ├── controllers/ │   └── Member_login.php ├── models/ │   └── Member_login_model.php ├── views/ │   └── member_login/ │       └── login_view.php ส่วนของฟอร์ม HTML ( View ) <div class="container"> <h2>Login</h2> <?php if($this->session->flashdata('error_message')): ?> <div class="alert alert-danger"> <?php echo $this->session->flashdata('error_message'); ?> </div> <?php endif; ?> <?php echo form_open('member_login/login'); ?> <div class="form-group"> <label for="username">Username:</label> <input type="text" class="form-control" id="username" name="username"> </div> <div class="form-group"> <label for="password">Password:</label> <input type="password" class=...

PHP CI MANIA : ตอนที่ 11 วิธีสร้างแบบฟอร์มบันทึกข้อมูลแบบ Master - Detail เพิ่ม/ลบ/แก้ไข รายการย่อยได้

การสร้างแบบฟอร์มแบบ Master & Detail ก็คือการทำงานกับตาราง 2 ตาราง โดยที่จะมีการบันทึกข้อมูลหลักส่วนที่ 1 และมีแบบฟอร์มสำหรับบันทึกข้อมูลรายการ ในส่วนที่ 2 ดังภาพ ส่วนของการตั้งค่าจะอยู่ในแท็ป " ตั้งค่า" ส่วนที่ 4 ด้านล่างสุด "ข้อมูลตารางรายการ (Detail)" 1. เลือกตารางที่จะใช้บันทึกรายการ เช่นหน้าเว็บนี้คือการบันทึกประวัติ Resume ดังนั้นก็จะมีตารางเก็บผลงานต่างๆ นั่นก็คือตาราง tb_portfolio ที่เลือกในภาพ 2. จะปรากฏข้อมูลฟิลด์ของตารางที่เลือกเพิ่มมาด้านล่าง 3. ดูในส่วนของตารางหลัก (Master) ใน tb_resume จะมีฟิลด์ที่เป็น Primary Key ชื่อว่า resume_id ดังที่เลือกไว้ในภาพ 4. จากนั้นก็ย้ายมาด้านตารางรายการ (Detail) เราจะต้องเลือก Foreign Key หรือง่ายๆก็คือ เลือกฟิลด์ที่เราจะเอาไอดีของตารางหลัก มาใส่อ้างอิงในแต่ละรายการนั่นเอง 5. หลังจากนั้นก็กำหนดรูปแบบช่อง INPUT เหมือนกับที่กำหนดให้ตารางหลัก ในบทที่ผ่านๆมา คือ ช่องวันที่ ช่องอัพโหลดไฟล์ ช่องตัวเลข หรือการ JOIN ต่างๆ 6. หลังจากนั้นให้คลิกสร้างไฟล์ Models, Views, JS และ Controller...

CodeIgniter การกำหนดเงื่อนไขค้นหาในหน้า ตารางแสดงรายการ เพื่อให้การแสดงผล Pagination ทำงานถูกต้อง

การค้นหารายการในหน้า " ตารางแสดงรายการ " เราสามารถปรับแต่งส่วนของ การจัดเรียง ส่วนของการค้นหา เพิ่มเติมได้ที่ Model ที่ฟังก์ชั่น read() ซึ่งจะมีการ Query ด้วยกัน 3 ครั้ง คือ (1) นับจำนวนทั้งหมด (แบบไม่กำหนด WHERE) <= ปัจจุบันไม่ได้เอาไปแสดงผล (2) นับจำนวนที่ค้นหาเจอ จะยอดที่แสดงในส่วนของ "จากทั้งหมด ..... รายการ" (3) ดึงรายการทั้งหมดที่ค้นเจอ โดยสามารถกำหนดเงื่อนไขการแบ่งหน้าได้ public function read($start_row = FALSE, $per_page = FALSE) { $search_field = $this->session->userdata($this->session_name . '_search_field'); $value = $this->session->userdata($this->session_name . '_value'); $value = trim($value); // ถ้ามีเงื่อนไขหลัก ให้ใส่ไว้ก่อนที่นี่ $where = "GEO_ID IN (1, 2, 3)"; $order_by = ''; if($this->order_field != ''){ $order_field = $this->order_field; $order_sort = $this->order_sort; $order_by = " $this->my_table.$or...

การส่งค่าผ่านแบบฟอร์มและลิงค์ไปยังไฟล์ PHP และการรับค่าผ่านตัวแปรต่างๆ

การรับค่าจากแบบฟอร์มนั้น PHP จะใช้ตัวแปรอยู่ 3 แบบด้วยกัน คือ  $_GET, $_POST, $_REQUEST ซึ่งแต่ละแบบจะมีการส่งค่าดังนี้ 1. $_GET จะส่งค่าผ่าน URL เราจะเห็นพารามิเตอร์ที่ส่งไปต่อท้าย URL ของหน้านั้นๆ 2. $_POST จะส่งแบบไม่แสดงพารามิเตอร์ให้เห็นส่วนใหญ่จะใช้กับการส่งค่าใน HTML FORM 3. $_REQUEST จะเป็นตัวแปรที่ใช้รับค่าได้ทั้งที่ส่งมาแบบ $_GET และ $_POST สำหรับขั้นตอนการค้นหาข้อมูลเพื่อนำมาทดสอบ เราจะใช้คีย์เวิร์ดดังนี้ เข้าไปที่เว็บไซต์ www.google.co.th แล้วค้นหาคำว่า "php การรับค่า ฟอร์ม" จากนั้นก็ลองนำซอร์สโค๊ดตัวอย่างมาทดลองดูว่าได้ผลอย่างไรบ้างและแตกต่างกันอย่างไร การส่งค่าผ่าน HTML FORM และ เมนูลิงค์ต่างๆ <html>    <head>        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />        <title>ทดสอบ การรับค่าผ่านฟอร์ม คำนวณพื้นที่สี่เหลี่ยม</title>    </head>    <body>    | <a href="form-reque...

ค้นหาบล็อกนี้