ใน workshop นี้จะแนะนำการเพิ่มข้อมูลแบบ Array โดยเพิ่มข้อมูลทีละหลายๆข้อมูลตามฟอร์มที่เราได้สร้างขึ้นแบบง่ายๆนะครับ ซึ่งน่าจะมีประโยชน์กับผู้ที่ต้องการศึกษาการเขียน php เบื้องต้นนะครับ มาเริ่มกันเลย
รวมคลิปสอน php+mysqli
สอน CodeIgniter สอนทำระบบหนังสือเวียนออนไลน์
สอน CodeIgniter สอนทำระบบยืมคืนครุภัณฑ์
เริ่มต้นสร้างตารางเพื่อเก็บข้อมูลง่ายๆขึ้นมา
1 2 3 4 5 |
CREATE TABLE `insertmulti` ( `mid` int(5) NOT NULL auto_increment, `articles` varchar(100) NOT NULL, PRIMARY KEY (`mid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; |
ไฟล์เริ่มต้นไฟล์เชื่อมต่อกับ database
1 2 3 4 5 6 |
<?php $con= mysqli_connect("localhost","root","123","myweb") or die("Error: " . mysqli_error($con)); mysqli_query($con, "SET NAMES 'utf8' "); ?> |
ฟอร์มเพิ่มข้อมูลแบบง่ายๆ ในฟอร์มนี้จะยกตัวอย่างการเพิ่มข้อมูลจาก text field 3 field ด้วยกัน โดยให้คลิกบันทึกข้อมูลครั้งเดียว สังเกตตรง name=”xx[]” จะมีเครื่องหมาย [] เพื่อกำหนดให้ส่งข้อมูลแบบ array
1 2 3 4 5 6 7 8 9 10 |
<meta charset="utf-8" /> <form action="muldb.php" method="post" name="form1" target="_blank" id="form1"> <p> data A : <input type='text' name='articles[]' /></p> <p> data B : <input type='text' name='articles[]' /></p> <p> data C : <input type='text' name='articles[]' /></p> <input type='submit' name='button' id='button' value='Submit' /> </form> |
ไฟล์ Insert ข้อมูลเข้าไป database
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<meta charset="utf-8" /> <?php include('connection.php'); // print array ออกมาดู print_r($_POST); foreach($_POST['articles'] as $row=>$art){ $articles = mysql_real_escape_string($_POST['articles'][$row]); $sql = "insert into insertmulti (articles) values ('$articles') "; $result = mysqli_query($con, $sql) or die ("Error in query: $sql " . mysqli_error()); } mysqli_close($con); ?> |
ลองทดสอบการทำงาน
หลังจากคลิก submit ก็จะแสดง array ที่เราได้กรอกข้อมูลเข้าไป สังเกต [] จะมีตัวเลขกำกับ หมายถึงลำดับของ array ที่เราส่งเข้ามา โดยภาษา php ตัวเลขเริ่มต้นคือ 0 (เลขศูนย์)
ลองเปิดข้อมูลในฐานข้อมูล
เรียบร้อยครับ ลองไปฝึกดูนะครับ