ให้เรตสมาชิก: 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
ฮิต
18984
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-13 19:26:02

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

ประเภทไฟล์ zip

ขนาดไฟล์ 1.37 KB

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

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


 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบวิธีการปรับขนาดของ browser ในแสดงผลเฉพาะส่วนที่ต้องการ
โดย Ittichai_chupol จ 17 มิ.ย. 2019 7:21 pm บอร์ด Programming - PHP
0
5
จ 17 มิ.ย. 2019 7:21 pm โดย Ittichai_chupol
อยากทราบวิธีการ สร้าง css เพื่อกำหนดตำแหน่งในการแชร์
โดย Ittichai_chupol จ 17 มิ.ย. 2019 2:50 pm บอร์ด HTML CSS
6
32
จ 17 มิ.ย. 2019 6:59 pm โดย thatsawan
CPU มีความร้อนสูงทำให้คอมพิวเตอร์เสียหายจริงหรือไม่ ?
โดย Patipat จ 17 มิ.ย. 2019 6:38 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
จ 17 มิ.ย. 2019 6:38 pm โดย Patipat
อยากทราบวิธีสร้างกราฟ เป็นแบบ PHP Stacked Column
โดย Patipat จ 17 มิ.ย. 2019 6:11 pm บอร์ด Programming - PHP
0
7
จ 17 มิ.ย. 2019 6:11 pm โดย Patipat
วิธีการหา Error ของการ Insert ข้อมูลลงฐานข้อมูล Mysql โดยใช้ Mysql
โดย Patipat จ 17 มิ.ย. 2019 5:42 pm บอร์ด SQL Knowledge
0
8
จ 17 มิ.ย. 2019 5:42 pm โดย Patipat
เดินทางจากตัวเมืองนครศรี-วัดเจดีย์ไอ้ไข่ไปอย่างไร(รถโดยสาร)
โดย jirawoot จ 17 มิ.ย. 2019 5:23 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
5
จ 17 มิ.ย. 2019 5:23 pm โดย jirawoot
วิธีการแก้ Netbean Newproject ของ PHP ไม่ขึ้น
โดย Patipat จ 17 มิ.ย. 2019 4:27 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
4
จ 17 มิ.ย. 2019 4:27 pm โดย Patipat
จะเพิ่มรูปภาพเข้ามายัง เว็บบอร์ด PHP ยังไงค่ะ
โดย EyePornnipa จ 17 มิ.ย. 2019 4:14 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
18
จ 17 มิ.ย. 2019 7:10 pm โดย EyePornnipa
ให้แสดงเวลาแต่เกิด Notice: A non well formed numeric value encountered in ครับ
โดย jamepiyawat จ 17 มิ.ย. 2019 4:10 pm บอร์ด Programming - PHP
1
11
จ 17 มิ.ย. 2019 5:43 pm โดย mindphp
แหล่งท่องเที่ยวใน จ.นครศรีธรรมราช
โดย jirawoot จ 17 มิ.ย. 2019 4:00 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
10
จ 17 มิ.ย. 2019 4:00 pm โดย jirawoot
การติดตั้งโปรแกรม Nimbus บน google chrom
โดย chatee supasand จ 17 มิ.ย. 2019 3:56 pm บอร์ด Share Knowledge
1
5
จ 17 มิ.ย. 2019 3:58 pm โดย thatsawan
วิธีการแก้ไข sudo must be owned by uid 0 and have the setuid bit set บน ubuntu
โดย jamepiyawat จ 17 มิ.ย. 2019 3:25 pm บอร์ด Share Knowledge
2
16
จ 17 มิ.ย. 2019 4:04 pm โดย jamepiyawat
การเดินทางจากนครศรีธรรมราชมากรุงเทพฯ
โดย EyePornnipa จ 17 มิ.ย. 2019 3:22 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
20
จ 17 มิ.ย. 2019 3:22 pm โดย EyePornnipa
ทำ google เอกสาร ให้คนอื่นแก้ไข หรือ ทำให้แค่เห็นเอกสาร
โดย jamepiyawat จ 17 มิ.ย. 2019 12:10 pm บอร์ด Share Knowledge
0
12
จ 17 มิ.ย. 2019 12:10 pm โดย jamepiyawat
Skype สามารถ ใช้ร่วมกับ OneDrive ได้แล้ว
โดย chatee supasand จ 17 มิ.ย. 2019 11:49 am บอร์ด Microsoft Office Knowledge & line & Etc
0
7
จ 17 มิ.ย. 2019 11:49 am โดย chatee supasand
ประวัติส่วนตัวและความรู้ที่เคยเรียนมา
โดย jirawoot จ 17 มิ.ย. 2019 11:20 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
4
จ 17 มิ.ย. 2019 11:20 am โดย jirawoot
Job Description
โดย EyePornnipa จ 17 มิ.ย. 2019 11:17 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
21
จ 17 มิ.ย. 2019 11:17 am โดย EyePornnipa
Note
โดย jirawoot จ 17 มิ.ย. 2019 11:06 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
3
12
จ 17 มิ.ย. 2019 6:13 pm โดย jirawoot
Note
โดย EyePornnipa จ 17 มิ.ย. 2019 11:06 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
1
16
จ 17 มิ.ย. 2019 12:47 pm โดย EyePornnipa
Work's on Hand จิระวุฒิ อัครลิขิตกุล M090
โดย jirawoot จ 17 มิ.ย. 2019 11:05 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
3
จ 17 มิ.ย. 2019 11:05 am โดย jirawoot