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

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

ประเภทไฟล์ zip

ขนาดไฟล์ 1.37 KB

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

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


 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ฟอร์มรับเงิน Omise เราสามารถเปลี่ยน logo ได้มั้ยคะ
โดย thatsawan ศ 03 ก.ค. 2020 6:03 pm บอร์ด Programming - PHP
0
20
ศ 03 ก.ค. 2020 6:03 pm โดย thatsawan
input type="date" ไม่เเสดงเป็นปฎิทินวันที่ให้ใน safari แก้ไขยังไงคะ
โดย thatsawan พฤ 02 ก.ค. 2020 2:31 pm บอร์ด HTML CSS
0
45
พฤ 02 ก.ค. 2020 2:31 pm โดย thatsawan
การสร้าง bot messenger ของ facebook โดยใช้ pymessenger
โดย jirawoot พฤ 02 ก.ค. 2020 1:44 pm บอร์ด Python Knowledge
0
47
พฤ 02 ก.ค. 2020 1:44 pm โดย jirawoot
Q - ทดลองทำเอกสารยื่นแบบผ่านเน็ตแล้ว ไฟล์ txt ใช้ไม่ได้
โดย natthanit.r2538 พ 01 ก.ค. 2020 4:59 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
3
56
พ 01 ก.ค. 2020 5:41 pm โดย natthanit.r2538
สรุปการยื่นแบบภาษีออนไลน์
โดย natthanit.r2538 อ 30 มิ.ย. 2020 5:32 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
55
อ 30 มิ.ย. 2020 7:18 pm โดย natthanit.r2538
หลักการคิดค่าคอมมิชชั่น และวิธีการคิด รายได้จาก Commission
โดย natthanit.r2538 อ 30 มิ.ย. 2020 11:31 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
53
อ 30 มิ.ย. 2020 11:31 am โดย natthanit.r2538
MJUpgrade อัพเกรดไม่สำเร็จ Error: zip file not found
โดย chaiyaphat ศ 26 มิ.ย. 2020 11:01 am บอร์ด Joomla Development
3
508
ศ 26 มิ.ย. 2020 1:24 pm โดย mindphp
ตั้งค่าใช้ Email ใน phpbb เเล้ว ไม่ทำงาน
โดย thatsawan พฤ 25 มิ.ย. 2020 5:37 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
5
102
ส 27 มิ.ย. 2020 4:43 pm โดย thatsawan
เจอปัญหาตอนทำรายการ Omise เป็นบางครั้ง Error Uncaught OmiseInvalidChargeException
โดย thatsawan พฤ 25 มิ.ย. 2020 3:56 pm บอร์ด Programming - PHP
2
76
จ 29 มิ.ย. 2020 5:29 pm โดย thatsawan
ต้องการจะสร้างไฟล์ HTML เเต่นำค่า php ไป HTML โดย Twig เขียนใน phpbb จะทำยังไงคะ
โดย thatsawan พ 24 มิ.ย. 2020 5:45 pm บอร์ด Programming - PHP
3
77
พฤ 25 มิ.ย. 2020 3:49 pm โดย Sirayu
ถ้าเราต้องการแสดงค่าตอน onchange ใน option ที่มี value มากกว่า 1
โดย thatsawan อ 23 มิ.ย. 2020 12:51 pm บอร์ด JavaScript & Jquery Ajax
2
131
อ 23 มิ.ย. 2020 3:01 pm โดย thatsawan
4 จุดเช็คอิน เกาะล้าน ยอดฮิต
โดย A2d จ 22 มิ.ย. 2020 10:44 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
75
ส 27 มิ.ย. 2020 12:01 am โดย A2d
ต้องการจะเปลี่ยนคำปุ่ม omise จาก Pay with Omise เป็นคำที่เรากำหนดขึ้นเอง
โดย thatsawan จ 22 มิ.ย. 2020 5:18 pm บอร์ด PHP Knowledge
2
108
จ 22 มิ.ย. 2020 5:39 pm โดย thatsawan
สาเหตุที่เด็กทารกแพ้นมวัว คุณแม่จะรับมือปัญหานี้อย่างไรดี
โดย medalezga จ 22 มิ.ย. 2020 1:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
64
จ 22 มิ.ย. 2020 1:58 pm โดย medalezga
ไม่เข้าใจคำสั่ง preg_replace
โดย profess79 ส 20 มิ.ย. 2020 11:56 am บอร์ด Programming - PHP
1
110
ส 20 มิ.ย. 2020 6:19 pm โดย profess79
วิธีการทำทศนิยม 3 ตำแหน่ง ด้วย python
โดย bolue ศ 19 มิ.ย. 2020 4:49 pm บอร์ด Python Knowledge
0
81
ศ 19 มิ.ย. 2020 4:49 pm โดย bolue
วิธีการ เพิ่มข้อมูล ลงฐานข้อมูล พร้อม รีเทิร์น id กลับมา ด้วยคำสั่ง sql
โดย bolue ศ 19 มิ.ย. 2020 3:25 pm บอร์ด SQL Knowledge
0
551
ศ 19 มิ.ย. 2020 3:25 pm โดย bolue
เจอปัญหา ส่งเมลผิดพลาด : Language string failed to load: from_failed บน phpmailer
โดย mindphp ศ 19 มิ.ย. 2020 3:26 am บอร์ด Programming - PHP
2
1561
ศ 19 มิ.ย. 2020 5:47 pm โดย mindphp
กฎหมายที่ใช้ควบคุมโรค โควิด-19 ฝ่าฝืนได้รับโทษอย่างไรบ้าง?
โดย Decha Thaweeumanjvaroj พฤ 18 มิ.ย. 2020 10:17 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
104
พฤ 18 มิ.ย. 2020 10:17 am โดย Decha Thaweeumanjvaroj
ไม่สามารถ start openerp-server ของ openerp 7 ได้
โดย bolue พฤ 18 มิ.ย. 2020 10:09 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
10
174
ศ 19 มิ.ย. 2020 12:49 pm โดย bolue