ให้เรตสมาชิก: 4 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งาน
 

สอน php เชื่อมต่อฐานข้อมูล การใช้คำสั่งในการ INSERT ข้อมูลลงฐานข้อมูล

ในตัวอย่างนี้เราจะทำการสร้าง ฟอร์มรับข้อมูลไว้ในไฟล์ form.php  หลังจากนั้นจะให้ส่งค่าไปยัง ไฟล์ save.php เพื่อทำการ insert  ข้อมูลลงฐานข้อมูล ในการสร้างไฟล์ save.php เราจะต้องมีการเชื่อมต่อกับฐานข้อมูลขึ้นมาก่อน connect.php  เมื่อทำการ insert จะนำข้อมูลไปแสดง ในหน้า list.php
ในตัวอย่างเราจะทำการ INSERT  ข้อมูลลงใน ตาราง  test สิ่งเเรกก่อนเราจะต้องทำการสร้างตารางเพื่อรับข้อมูล

จากนั้นทำการสร้าง form ตามโครงสร้างของตาราง

ไฟล์ตัอย่าง form.php
<form neme="form" method="post" action="save.php" enctype="multipart/form-data">
<label>Title:</label><input type="text"name="rank_title" /><br/>
<label>Min:</label><input type="text"name="rank_min"/>
<label>special:</label>
<input type="radio"name="rank_special"id="rank_special1" value="1"checked="checked"/>
<label for="rank_special1">yes</label>
<input type="radio"name="rank_special"id="rank_special2"value="0"/>
<label for="rank_special2">no</label><br/>
<label>image:</label>
<input type="file"name="rank_image"/><br/>
<input type="submit" neme="save" value="save" />

คำอธิบาย

<form neme="form" method="post" action="save.php" enctype="multipart/form-data">

ในการสร้างฟอร์ม เราจะเห็นว่ามีการ ส่งค่า  method="post"  ไปยังไฟล์ save.php  เเละในส่วนของ enctype="multipart/form-data เป็นการกำหนดให้ฟอร์มนี้มีการเก็บข้อมูลได้หลายประเภท

<label>Title:</label><input type="text"name="rank_title" /><br/>
<label>Min:</label><input type="text"name="rank_min"/>

ในการเก็บข้อมูล rank_Tilte ,rank_Min จะทำการเก็บในรูปแบบ input type"text" name=ก็ชื่อฟิลด์ของตาราง

<label>special:</label>
<input type="radio"name="rank_special"id="rank_special1" value="1"checked="checked"/>
<label for="rank_special1">yes</label>
<input type="radio"name="rank_special"id="rank_special2"value="0"/><label>special:</label>
<input type="radio"name="rank_special"id="rank_special1" value="1"checked="checked"/>
<label for="rank_special1">yes</label>
<input type="radio"name="rank_special"id="rank_special2"value="0"/>

ในการเก็บ special เราจะเก็บในรูปแบบ radio  ให้มีการตรวจสอบค่า เริ่มต้นถ้าไม่มีการคลิกให้กำหนดเป็น value 1 value="1"checked="checked”

<label>image:</label>
<input type="file"name="rank_image"/><br/>

Image เราจะเก็บเป็นการอัพโหลดไฟล์รูป type="file"

<input type="submit" neme="save" value="save" />

 การสร้าง ปุ่ม

 

ไฟล์ connect.php
<?php
$host ='localhost';
$username ='root';
$password ='';
$db ='test';
mysql_connect($host,$username,$password) or die ('error connect');
mysql_query('set name utf8');
mysql_select_db($db)or die('select error');
?>

คำอธิบาย
การสร้างไฟล์ที่ใช้ในการเชื่อมต่อ กับฐานข้อมูล

$host = ชื่อโฮลต์
$username = ชื่อผู้ใช้ฐานข้อมูล
$password = รหัสผ่านในการเข้าฐานข้อมูล
$db = ชื่อตาราง
mysql_connect = คำสั่ง sql ในการเชื่อมต่อฐานข้อมูล
mysql_query = set ค่าของภาษา
mysql_select_db = คำสั่งเลือกตาราง

 

ไฟล์ save.php
<?php
require_once'connect.php';
if(isset($_POST['save']));{
if(!empty($_FILES['rank_image']['name'])){
$filename = md5($_FILES['rank_image']['name'].time());
$ext = explode('.',$_FILES['rank_image']['name']);
$dest = __DIR__.DIRECTORY_SEPARATOR.'image'.DIRECTORY_SEPARATOR.$filename.'.'.$ext[1];
if(!copy($_FILES['rank_image']['tmp_name'], $dest)) {
echo 'upload Error';
exit();

}
$rank_image = $filename.'.'.$ext[1];
}

$rank_title =$_POST['rank_title'];
$rank_min =$_POST['rank_min'];
$rank_special =$_POST['rank_special'];

$sql = "INSERT INTO phpbb_ranks (rank_title,rank_min,rank_special,rank_image)"
. "VALUES('$rank_title',$rank_min,$rank_special,'$rank_image')";

mysql_query($sql)or die ('insert error');
header('location: lish.php');

}
?>

คำอธิบาย

require_once'connect.php'; 

คือ การเรียกไฟล์ connect.php เข้ามาใช้งานโดยไม่ต้องเขียนคำสั่งเชื่อมต่อฐานข้อมูลอีก

if(isset($_POST['save']));

การตรวจสอบการกด ปุ่ม คือ ถ้ามีการกด ปุ่มจะมีการทำงานของโค้ดต่อไป

if(!empty($_FILES['rank_image']['name'])){
$filename = md5($_FILES['rank_image']['name'].time());
$ext = explode('.',$_FILES['rank_image']['name']);
$dest = __DIR__.DIRECTORY_SEPARATOR.'image'.DIRECTORY_SEPARATOR.$filename.'.'.$ext[1];
if(!copy($_FILES['rank_image']['tmp_name'], $dest)) {
echo 'upload Error';
exit();

}
$rank_image = $filename.'.'.$ext[1];
}

คำสั่งเช็คการอัพโหลดไฟล์ภาพ ถ้าไม่มีการอัพโหลดภาพก็ไม่ต้องทำการเก็บภาพ ถ้ามีให้ทำงานตามคำสั่งการคัดลอกภาพไปเก็บที่ $dest คือตำแหน่งของโฟลเดอร์ที่เราต้องการให้มันคัดลอกไปไว้ แล้วถ้าคัดลอกไม่ผ่าน ก็จะแสดง upload Error เมื่อทำการ คัดลอกไฟล์สำเร็จจะเก็บ ในตัวแปร $rank_image เพื่อใช้ในคำสั่ง insert
ต่อไป จากนั้นให้ทำการสร้างโฟล์เดอร์ในการเก็บภาพ

 

       $rank_title =$_POST['rank_title'];
$rank_min =$_POST['rank_min'];
$rank_special =$_POST['rank_special'];

การประกาศตัวแปรรับค่า POST ที่เป็นการเก็บค่าในรูปแบบ text และ radio

 

        $sql = "INSERT INTO  phpbb_ranks (rank_title,rank_min,rank_special,rank_image)"
. "VALUES('$rank_title',$rank_min,$rank_special,'$rank_image')";

คำสั่ง sql insert ให้มีการบันทึกข้อมูล ลงตาราง phpbb_ranks โดย (rank_title,rank_min,rank_special,rank_image) จะเป็นชื่อของฟิลด์ในตาราง เเละ VALUES ใส่ค่าตัวแปรที่เราประกาศไว้ สังเกตุ ถ้าเป็นการเก็บ แบบ string จะต้องใส่เครื่องหมาย ‘’
เพื่อระบุว่าเป็น string

 ในส่วนของการดึงข้อมูลจากฐานข้อมูลมาเเสดงผล เราจะทำการใช้คำสั่ง sql ในการเลือกว่าเราจะทำการแสดงข้อมูลตารางใด ในตัวอย่างนี้เราจะทำการดึงข้อมูลของตารางมาแสดงทั้งหมด

 

ไฟล์ list.php
<?php
require_once 'connect.php';
$sql ="SELECT * FROM phpbb_ranks";
$result = mysql_query($sql);
?>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<table border="1">
<tr>
<th>id</th>
<th>rank title</th>
<th>rank min</th>
<th>rank special</th>
<th>rank image</th>

</tr>
<?php
while ($fetch = mysql_fetch_assoc($result)){

?>
<tr>
<td><?php echo $fetch['rank_id']?></td>
<td><?php echo $fetch['rank_title']?></td>
<td><?php echo $fetch['rank_min']?></td>
<td><?php echo $fetch['rank_special']?></td>
<td><?php echo $fetch['rank_image']?></td>

<?php
}
?>
</table>
</body>
</html>

คำอธิบาย

<?php
require_once 'connect.php';
$sql ="SELECT * FROM phpbb_ranks";
$result = mysql_query($sql);
?>

คำสั่ง sql ในการดึงข้อมูลจากฐานข้อมูล

<?php
    while ($fetch = mysql_fetch_assoc($result)){
?>

การดึงข้อมูลมาแสดงผลในรูปของตาราง โดยจะทำการ วนลูปในการแสดงผล

<td><?php echo $fetch['rank_id']?></td>
<td><?php echo $fetch['rank_title']?></td>
<td><?php echo $fetch['rank_min']?></td>
<td><?php echo $fetch['rank_special']?></td>
<td><?php echo $fetch['rank_imagel']?></td>

การใช้คำสั่ง php ในการดึงข้อมูลเพื่อเเสดงผล

 

 

หัวเรื่อง
การใช้คำสั่งในการ INSERT ข้อมูลลงฐานข้อมูล
หมวดหมู่
PHP Basics, PHP Basics
ฮิต
20760
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-13 19:26:02

การใช้คำสั่งในการ INSERT ข้อมูลลงฐานข้อมูล.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1.37 KB

ผู้อัพโหลดไฟล์ thatsawan

วันที่อัพโหลด 2014-05-07 15:31:42


 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
บันทึกการประชุม OpenERP MD-ERP
โดย rinrada ส 04 ก.พ. 2017 11:52 am บอร์ด OpenERP - MD-ERP (Main)
26
173
พฤ 21 พ.ย. 2019 6:56 pm โดย thatsawan
การใช้ ฟังก์ชัน hsl() และ hsal () กำหนดค่าของสี
โดย bankjittapol พฤ 21 พ.ย. 2019 6:55 pm บอร์ด CSS Knowledge
0
3
พฤ 21 พ.ย. 2019 6:55 pm โดย bankjittapol
วิธีการแยกตัวอักษรเข้าอาร์เรย์ (Array) แต่ล่ะอาร์เรย์ ด้วยคำสั่ง split
โดย jamepiyawat พฤ 21 พ.ย. 2019 6:50 pm บอร์ด Jquery & Ajax Knowledge
0
2
พฤ 21 พ.ย. 2019 6:50 pm โดย jamepiyawat
วิธีการดึงค่า class ที่มีหลาย
โดย Ittichai_chupol พฤ 21 พ.ย. 2019 6:39 pm บอร์ด Jquery & Ajax Knowledge
0
6
พฤ 21 พ.ย. 2019 6:39 pm โดย Ittichai_chupol
การติดตั้ง wkhtmltopdf ด้วย terminal บน ubuntu
โดย jirawoot พฤ 27 มิ.ย. 2019 4:00 pm บอร์ด Linux - Web Server
3
694
พฤ 21 พ.ย. 2019 2:49 pm โดย mindphp
การปรับแก้ไข(Overrides) Modules ใน Template
โดย bankjittapol พฤ 21 พ.ย. 2019 2:36 pm บอร์ด Joomla Developing Knowledge
0
4
พฤ 21 พ.ย. 2019 2:36 pm โดย bankjittapol
wkhmtltopdf คืออะไร
โดย jirawoot พ 03 ก.ค. 2019 6:35 pm บอร์ด Share Knowledge
1
215
พฤ 21 พ.ย. 2019 2:34 pm โดย mindphp
อัพเกรด wkhtmltopdf บน Ubuntu 16.04
โดย mindphp พฤ 21 พ.ย. 2019 2:33 pm บอร์ด Linux - Web Server
0
5
พฤ 21 พ.ย. 2019 2:33 pm โดย mindphp
VDO - โปรแกรมแปลงพื้นที่
โดย numtan5839 พฤ 21 พ.ย. 2019 1:59 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
9
พฤ 21 พ.ย. 2019 4:27 pm โดย thatsawan
VDO - การใช้โปรแกรมคำนวณแคลอรี่
โดย numtan5839 พฤ 21 พ.ย. 2019 1:46 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
8
พฤ 21 พ.ย. 2019 4:24 pm โดย thatsawan
แนะนำ tools Online
โดย chaiyasitpraphut พ 13 พ.ย. 2019 6:21 pm บอร์ด MindPHP News / Feedback
1
48
พฤ 21 พ.ย. 2019 12:33 pm โดย mindphp
ต้องการเก็บ cache ข้อมูลที่ดึงมาจาก api ของ กรมอุตุฯ ต้องทำยังไงครับ
โดย bankjittapol พฤ 21 พ.ย. 2019 10:40 am บอร์ด Joomla Development
1
13
พฤ 21 พ.ย. 2019 10:43 am โดย thatsawan
อัพเดทความคืบหน้า / Progress - ThaiVI
โดย mindphp พ 10 ต.ค. 2018 3:49 am บอร์ด ThaiVI (Main)
409
2754
พฤ 21 พ.ย. 2019 10:32 am โดย thatsawan
งานประจำวันที่ 21 พฤศจิกายน 2562
โดย numtan5839 พฤ 21 พ.ย. 2019 10:11 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
7
26
พฤ 21 พ.ย. 2019 7:23 pm โดย numtan5839
Google Station บริการ Wi-Fi ฟรี จาก google มีบริการภายในสนามบิน 6 แห่ง
โดย jamepiyawat จ 26 ส.ค. 2019 6:19 pm บอร์ด Share Knowledge
2
292
พฤ 21 พ.ย. 2019 9:49 am โดย aloha11x
เปลี่ยน Default Python3 บนเครื่อง Ubuntu 16.04 จาก Python3.5 เป็น Python3.6
โดย mindphp พฤ 21 พ.ย. 2019 7:04 am บอร์ด Linux - Web Server
0
5
พฤ 21 พ.ย. 2019 7:04 am โดย mindphp
สร้าง Template ใน Joomla
โดย bankjittapol พ 20 พ.ย. 2019 8:06 pm บอร์ด Joomla Developing Knowledge
0
8
พ 20 พ.ย. 2019 8:06 pm โดย bankjittapol
list box เลือกแสดงรูปแบบของวันที่ (Date Format )
โดย bankjittapol พ 20 พ.ย. 2019 6:55 pm บอร์ด Joomla Developing Knowledge
0
10
พ 20 พ.ย. 2019 6:55 pm โดย bankjittapol
คำสั่งเข้าใช้งาน PostgreSQL ด้วย Command Line
โดย mindphp อ 30 ก.ค. 2017 11:24 pm บอร์ด PostgreSQL
6
1812
พ 20 พ.ย. 2019 6:38 pm โดย mindphp
replace() คำสั่งค้นหาแทนที่ใน javascript
โดย jamepiyawat พ 20 พ.ย. 2019 6:36 pm บอร์ด Jquery & Ajax Knowledge
0
8
พ 20 พ.ย. 2019 6:36 pm โดย jamepiyawat