แนะนำสอนเรื่องแสดงรูปจากตารางหลายๆรูปได้มั้ยค่ะแอดได้หลายรูปแต่เวลาแสดงมาแค่รูปเดียว ขอสอบถามผู้รู้หน่อยค่ะพอดีพึ่งหัดเขียนโปรแกรม ทำโปรเจคจบค่ะ
Code (PHP)
<?php
session_start(); ?>
<?php
include('includes/header.php');
include('includes/navbar.php');
?>
<?php
require('connect.php');
?>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script type="text/javascript">
//การเรียกใช้ฟังก์ชัน name1 คือ ชื่อ
function name() {
var i = document.getElementById("p_name").value //นำค่าจากการป้อนเข้ามาไว้ในตัวแปร i
if (!i.match(/^([A-Za-z ก-๙])+$/i)) { //สร้างเงื่อนไขสามารถกรอกข้อความได้แค่ตัวอักษรถ้ากรอกผิดขึ้นแจ้งเตือน
swal({text: 'กรุณากรอกเป็นตัวอักษร', icon: 'warning'});//แจ้งเตือนว่าใส่ข้อมูลผิด
return false;
}
}
function fncSubmit(){
if(document.getElementById('p_name').value == "" )
{
swal({text: 'กรุณากรอกชื่อชิ้นส่วน', icon: 'warning'});
return false;
}
else if(document.getElementById('p_category').value == "1" )
{
swal({text: 'กรุณาเลือกหน่วย', icon: 'warning'});
return false;
}
else if(document.getElementById('c_id').value == "1" )
{
swal({text: 'กรุณาเลือกประเภท', icon: 'warning'});
return false;
}
else if(document.getElementById('p_color').value == "1" )
{
swal({text: 'กรุณาเลือกสี', icon: 'warning'});
return false;
}
else if(document.getElementById('namepic').value == "" )
{
swal({text: 'กรุณาเลือกรูปภาพ', icon: 'warning'});
return false;
}
else if(document.getElementById('p_status').value == "1" )
{
swal({text: 'กรุณาเลือกสถานะ', icon: 'warning'});
return false;
}
}
</script>
<body>
<!--ลบข้อมูล-->
<?php
if (isset($_GET['delete_id'])) { //เมื่อรับค่า delete_id มา
$deleteId = $_GET['delete_id'];
$sql = " DELETE
FROM parts
WHERE p_id = '$deleteId' ";
mysqli_query($conn, $sql);
echo "<script>";
echo " window.location = 'parts.php';";
echo "</script>";
mysqli_close($conn); //ปิดการเชื่อมต่อฐานข้อมูล
} //end if(isset($_GET['delete_id']))
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ข้อมูลชิ้นส่วน</title>
</head>
<body>
</body>
</html>
<div class="modal fade" id="modalBorrow_table">
<div class="modal-dialog modal-lg">
<div class="modal-content ">
<div class="modal-header">
<h4 class="modal-title" style="color:white">ชิ้นส่วน</h4> 
<h5><b><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-journal-bookmark-fill" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z" />
<path d="M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z" />
<path d="M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z" />
</svg><i class="bi bi-journal-bookmark-fill"></i> เพิ่มข้อมูลชิ้นส่วน</b></h5><button type="button" class="close" data-dismiss="modal" aria-label="Close" id="close">
<span aria-hidden="true" style="color:white">×</span></button>
</div>
<div class="modal-body">
<input type="text" class="form-control per_unit" id="job_id_send" placeholder="กรุณากรอกข้อมูล" name='job_id_send' /hidden>
<div class="row">
<div class="col-sm-10">
<FONT Face="FC Home" SIZE="+1" COLOR="000000">
<form enctype="multipart/form-data" name="form1" id="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" onSubmit="JavaScript:return fncSubmit();">
<div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">รหัสชิ้นส่วน :</label>
<div class="col">
<input type="text" class="form-control" name="p_id" id="p_id" onclick="id1()" placeholder="รหัสชิ้นส่วน" disabled="disabled">
</div>
</div>
<div class="form-group row">
<label for="input_name" class="col-sm-3 col-form-label text-right">ชื่อชิ้นส่วน :</label>
<div class="col">
<input type="text" class="form-control" name="p_name" id="p_name" onchange="name()" placeholder="กรุณาใส่ชื่อชิ้นส่วน">
</div>
</div>
<div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">หน่วย :</label>
<div class="col">
<select class="form-control" onclick="options()" id="p_category" name="p_category">
<option value="1">--- กรุณาเลือกหน่วย ---</option>
<option value="ใบ">ใบ</option>
<option value="ชิ้น">ชิ้น</option>
<option value="เส้น">เส้น</option>
<option value="ตัว">ตัว</option>
<option value="แผ่น">แผ่น</option>
</select>
</select>
</div>
</div>
<div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">ประเภท :</label>
<div class="col">
<select name="c_id" id="c_id" onclick="options()" required class="form-control" readonly>
<option value="1">--- กรุณาเลือกประเภท ---</option><?php
$sql = "SELECT c_id,c_name FROM category ";
$result = mysqli_query($conn, $sql);
while ($array = mysqli_fetch_assoc($result)) {
?>
<option value="<?= $array['c_id'] ?>"> <?= $array['c_name'] ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">สี :</label>
<div class="col">
<select class="form-control" onclick="options()" id="p_color" name="p_color">
<option value="1">--- กรุณาเลือกสี ---</option>
<option value="-">--------</option>
<option value="ขาว-เขียว">ขาว-เขียว</option>
<option value="ขาว-แดง-ดำ">ขาว-แดง-ดำ</option>
<option value="ทอง-ดำ">ทอง-ดำ</option>
<option value="เหลือง">เหลือง</option>
<option value="ขาว">ขาว</option>
<option value="แดง">แดง</option>
<option value="ส้ม">ส้ม</option>
<option value="เขียว">เขียว</option>
<option value="ฟ้า">ฟ้า</option>
<option value="น้ำตาล">น้ำตาล</option>
<option value="น้ำเงิน">น้ำเงิน</option>
<option value="เขียวมะนาว">เขียวมะนาว</option>
</select>
</select>
</div>
</div>
<div class="form-group row">
<label for="number" class="col-sm-3 col-form-label text-right">เลือกรูปภาพ : </label> <br>
<div class="col">
<input type="file" name="namepic" id="namepic" onclick="options()"multiple/>
<!--ปุ่ม-->
</div>
</div><div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">สถานะ :</label>
<div class="col">
<select class="form-control" onclick="options()" id="p_status" name="p_status">
<option value="1">--- กรุณาเลือกสถานะ ---</option>
<option value="ใช้งาน">ใช้งาน</option>
<option value="ยกเลิก">ยกเลิก</option>
<option value="ลาออก">ลาออก</option>
</select>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer ">
<div class="form-group" align="right">
<button type="submit" class="btn btn-success" name="nadd" id="nadd">บันทึก</button>
</div>
<div class="form-group">
<button type="button" data-dismiss="modal" class="btn btn-danger" id="cancel">ยกเลิก</button>
</div>
</div>
<!-- Content Row -->
<?php
require('connect.php');
if (isset($_POST['nadd'])) {
$p_name = $_POST['p_name'];
$p_color = $_POST['p_color'];
$p_category = $_POST['p_category'];
$c_id = $_POST['c_id'];
$p_status=$_POST['p_status'];
var_dump($_FILES);
if (!empty($_FILES['namepic']['name'])) {
$new_filename = "upload/" . $_FILES['namepic']['name'][true];
copy($_FILES['namepic']['tmp_name'], $new_filename);
}
$sql = "SELECT p_id FROM parts ORDER BY p_id DESC LIMIT 1";
$result = mysqli_query($conn, $sql);
$p_id = "P" . str_pad((substr(mysqli_fetch_assoc($result)["p_id"] ?? "P00000", 1)) + 1, 5, "0", STR_PAD_LEFT);
$sql1 = "INSERT INTO parts(p_id,p_name,p_color,p_category,c_id,namepic,p_status)
VALUES ('$p_id','$p_name','$p_color','$p_category','$c_id','$new_filename','$p_status')";
if (mysqli_query($conn, $sql1)) {
echo "<br/><br/>";
echo "บันทึกลงฐานข้อมูลเรียบร้อยแล้ว";
} else {
echo "เกิดข้อผิดพลาด : " . $sql . "<br>" . mysqli_error($conn);
}
}
?>
<br>
</FONT>
</form>
</div>
<!--ปิด-->
</div>
</div>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1" id="myForm">
<!-- Begin Page Content -->
<div class="container-fluid">
<div class="container-fluid">
<!-- DataTales Example -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<!-- หัว-->
<header class="w3-container" style="padding-top:22px">
<h5><b><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-journal-bookmark-fill" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z" />
<path d="M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z" />
<path d="M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z" />
</svg><i class="bi bi-journal-bookmark-fill"></i> ตารางข้อมูลชิ้นส่วน</b></h5><br>
<div class="form-group row">
<button type="button" class="btn btn-success" name="nameBorrow" data-toggle="modal" data-target="#modalBorrow_table" id="idBorrow">เพิ่มข้อมูลชิ้นส่วน</button>
<div class="col-sm-3"> <input type="text" class="form-control" name="txt_keyword" placeholder="ค้นหา"></div>
<br> <input type="submit" class="btn btn-warning"value="ค้นหา" />
</div>
</div>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1" id="form1" onSubmit="JavaScript:return fncSubmit();">
</form>
<?php
$search_text = isset($_POST['txt_keyword']) ? $_POST['txt_keyword'] : '';
$data = array();
$sql2 = "SELECT * FROM parts
WHERE p_id LIKE '%$search_text%'
OR p_name LIKE '%$search_text%'";
if ($result = $conn->query($sql2)) {
//printf("Select returned %d rows.\n", $result->num_rows);
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
//print_r($row);echo '<br>';
$data[] = $row;
}
/* free result set */
}
$result = mysqli_query($conn, $sql2);
?><br><br>
<center>
<div class="col-sm-10">
<table class="table">
<thead class="thead-light">
<tr>
<th align="center">รหัสชิ้นส่วน</th>
<th align="center">ประเภท</th>
<th align="center">ชื่อ</th>
<th align="center">สี</th>
<th align="center">หน่วย</th>
<th align="center">สถานะ</th>
<th align="center">แสดงเพิ่มเติม</th>
<th align="center">แก้ไข</th>
</tr>
<tbody>
<tr>
<?php
// while ($row = mysqli_fetch_assoc($result1)){
foreach ($data as $row) { ?>
</center>
</center>
<thead class="thead">
<th align="center"><?php echo $row['p_id']; ?></th>
<th align="center"><?php echo $row['c_id']; ?></th>
<th align="center" ><?php echo $row['p_name'] ?></th>
<th align="center"><?php echo $row['p_color'] ?></th>
<th align="center"><?php echo $row['p_category'] ?></th>
<th align="center"><?php echo $row['p_status'] ?></th>
<!--แสดง-->
<th align="center"><a href="partsopen.php?update_id=<?php echo $row['p_id'] ?>">
<button class="btn btn-outline-success" type="button" name="btnUpdate">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pencil-square" viewBox="0 0 16 16">
<path d="M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456l-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z" />
<path fill-rule="evenodd" d="M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z" />
</svg>
<i class="bi bi-pencil-square"></i>แสดง</button></th>
<!--แก้ไข-->
<th align="center"><a href="partsedit.php?update_id=<?php echo $row['p_id'] ?>">
<button class="btn btn-outline-danger" type="button" name="btnUpdate">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pencil-square" viewBox="0 0 16 16">
<path d="M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456l-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z" />
<path fill-rule="evenodd" d="M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z" />
</svg>
<i class="bi bi-pencil-square"></i>แก้ไข</button></th>
</tr>
<?php
} ?>
</tbody>
</table>
</center>
<?php
//end if
?>
</div>
</center>
</header>
<!-- End page content -->
</div>
<?php
mysqli_close($conn);
?>
<?php
include('includes/scripts.php');
?>
</body>
</html>
ประวัติการแก้ไข 2021-07-23 20:22:26 2021-07-23 20:33:16
Date :
2021-07-23 19:20:57
By :
kawisara
โค้ดตอนแอดข้อมูลค่ะ
Date :
2021-07-23 19:21:17
By :
kawisara
ผมมีสองคำถาม
1. ฐานข้อมูลเก็บรูปภาพเป็นแบบใด...ขอดู table structure พร้อมตัวอย่างซัก 1-2 รายการ (เรคอร์ด)
2. มีจุดประสงค์อะไรพิเศษหรือไม่ที่วนซ้ำ <HTML>
Code (PHP)
<?php while(...) { ?>
<!DOCTYPE html>
<html lang="en">
...
</html>
<?php } ?>
ในเหตุการณ์ปกติจะวนเฉพาะใน <body>
Code (PHP)
<html>
<head>
<title></title>
</head>
<body>
<?php for ($i = 1; $i < 6; $i++) : ?>
<li>List Item <?php echo $i ?></li>
<?php endfor; ?>
</body>
</html>
Date :
2021-07-23 20:12:15
By :
TheGreatGod_of_Death
1.แบบนี้มั้ยค่ะ
2. ไม่ค่อยเข้าใจเรื่องการวนซ้ำเลยค่ะ อยากได้คำแนะนำจากพี่ๆ
Date :
2021-07-23 20:19:12
By :
kawisara
ตัวอย่างข้อมูลด้วย...ตามที่บอกว่าสามารถ insert ได้หลายรูป ผมอยากรู้ว่าบันทึกข้อมูลอย่างไร
แก้โพสต์ส่วนที่เป็นโค้ด โดยครอบด้วย "PHP Code"
เพื่อให้อ่านง่าย
Date :
2021-07-23 20:28:12
By :
TheGreatGod_of_Death
Code (PHP)
<?php
session_start(); ?>
<?php
include('includes/header.php');
include('includes/navbar.php');
?>
<?php
require('connect.php');
?>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script type="text/javascript">
//การเรียกใช้ฟังก์ชัน name1 คือ ชื่อ
function name() {
var i = document.getElementById("p_name").value //นำค่าจากการป้อนเข้ามาไว้ในตัวแปร i
if (!i.match(/^([A-Za-z ก-๙])+$/i)) { //สร้างเงื่อนไขสามารถกรอกข้อความได้แค่ตัวอักษรถ้ากรอกผิดขึ้นแจ้งเตือน
swal({text: 'กรุณากรอกเป็นตัวอักษร', icon: 'warning'});//แจ้งเตือนว่าใส่ข้อมูลผิด
return false;
}
}
function fncSubmit(){
if(document.getElementById('p_name').value == "" )
{
swal({text: 'กรุณากรอกชื่อชิ้นส่วน', icon: 'warning'});
return false;
}
else if(document.getElementById('p_category').value == "1" )
{
swal({text: 'กรุณาเลือกหน่วย', icon: 'warning'});
return false;
}
else if(document.getElementById('c_id').value == "1" )
{
swal({text: 'กรุณาเลือกประเภท', icon: 'warning'});
return false;
}
else if(document.getElementById('p_color').value == "1" )
{
swal({text: 'กรุณาเลือกสี', icon: 'warning'});
return false;
}
else if(document.getElementById('namepic').value == "" )
{
swal({text: 'กรุณาเลือกรูปภาพ', icon: 'warning'});
return false;
}
else if(document.getElementById('p_status').value == "1" )
{
swal({text: 'กรุณาเลือกสถานะ', icon: 'warning'});
return false;
}
}
</script>
<body>
<!--ลบข้อมูล-->
<?php
if (isset($_GET['delete_id'])) { //เมื่อรับค่า delete_id มา
$deleteId = $_GET['delete_id'];
$sql = " DELETE
FROM parts
WHERE p_id = '$deleteId' ";
mysqli_query($conn, $sql);
echo "<script>";
echo " window.location = 'parts.php';";
echo "</script>";
mysqli_close($conn); //ปิดการเชื่อมต่อฐานข้อมูล
} //end if(isset($_GET['delete_id']))
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ข้อมูลชิ้นส่วน</title>
</head>
<body>
</body>
</html>
<div class="modal fade" id="modalBorrow_table">
<div class="modal-dialog modal-lg">
<div class="modal-content ">
<div class="modal-header">
<h4 class="modal-title" style="color:white">ชิ้นส่วน</h4> 
<h5><b><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-journal-bookmark-fill" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z" />
<path d="M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z" />
<path d="M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z" />
</svg><i class="bi bi-journal-bookmark-fill"></i> เพิ่มข้อมูลชิ้นส่วน</b></h5><button type="button" class="close" data-dismiss="modal" aria-label="Close" id="close">
<span aria-hidden="true" style="color:white">×</span></button>
</div>
<div class="modal-body">
<input type="text" class="form-control per_unit" id="job_id_send" placeholder="กรุณากรอกข้อมูล" name='job_id_send' /hidden>
<div class="row">
<div class="col-sm-10">
<FONT Face="FC Home" SIZE="+1" COLOR="000000">
<form enctype="multipart/form-data" name="form1" id="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" onSubmit="JavaScript:return fncSubmit();">
<div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">รหัสชิ้นส่วน :</label>
<div class="col">
<input type="text" class="form-control" name="p_id" id="p_id" onclick="id1()" placeholder="รหัสชิ้นส่วน" disabled="disabled">
</div>
</div>
<div class="form-group row">
<label for="input_name" class="col-sm-3 col-form-label text-right">ชื่อชิ้นส่วน :</label>
<div class="col">
<input type="text" class="form-control" name="p_name" id="p_name" onchange="name()" placeholder="กรุณาใส่ชื่อชิ้นส่วน">
</div>
</div>
<div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">หน่วย :</label>
<div class="col">
<select class="form-control" onclick="options()" id="p_category" name="p_category">
<option value="1">--- กรุณาเลือกหน่วย ---</option>
<option value="ใบ">ใบ</option>
<option value="ชิ้น">ชิ้น</option>
<option value="เส้น">เส้น</option>
<option value="ตัว">ตัว</option>
<option value="แผ่น">แผ่น</option>
</select>
</select>
</div>
</div>
<div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">ประเภท :</label>
<div class="col">
<select name="c_id" id="c_id" onclick="options()" required class="form-control" readonly>
<option value="1">--- กรุณาเลือกประเภท ---</option><?php
$sql = "SELECT c_id,c_name FROM category ";
$result = mysqli_query($conn, $sql);
while ($array = mysqli_fetch_assoc($result)) {
?>
<option value="<?= $array['c_id'] ?>"> <?= $array['c_name'] ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">สี :</label>
<div class="col">
<select class="form-control" onclick="options()" id="p_color" name="p_color">
<option value="1">--- กรุณาเลือกสี ---</option>
<option value="-">--------</option>
<option value="ขาว-เขียว">ขาว-เขียว</option>
<option value="ขาว-แดง-ดำ">ขาว-แดง-ดำ</option>
<option value="ทอง-ดำ">ทอง-ดำ</option>
<option value="เหลือง">เหลือง</option>
<option value="ขาว">ขาว</option>
<option value="แดง">แดง</option>
<option value="ส้ม">ส้ม</option>
<option value="เขียว">เขียว</option>
<option value="ฟ้า">ฟ้า</option>
<option value="น้ำตาล">น้ำตาล</option>
<option value="น้ำเงิน">น้ำเงิน</option>
<option value="เขียวมะนาว">เขียวมะนาว</option>
</select>
</select>
</div>
</div>
<div class="form-group row">
<label for="number" class="col-sm-3 col-form-label text-right">เลือกรูปภาพ : </label> <br>
<div class="col">
<input type="file" name="namepic" id="namepic" onclick="options()"multiple/>
</div>
</div>
<div class="form-group row">
<label for="" class="col-sm-3 col-form-label text-right">สถานะ :</label>
<div class="col">
<select class="form-control" onclick="options()" id="p_status" name="p_status">
<option value="1">--- กรุณาเลือกสถานะ ---</option>
<option value="ใช้งาน">ใช้งาน</option>
<option value="ยกเลิก">ยกเลิก</option>
<option value="ลาออก">ลาออก</option>
</select>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer ">
<div class="form-group" align="right">
<button type="submit" class="btn btn-success" name="nadd" id="nadd">บันทึก</button>
</div>
<div class="form-group">
<button type="button" data-dismiss="modal" class="btn btn-danger" id="cancel">ยกเลิก</button>
</div>
</div>
<!-- Content Row -->
<?php
require('connect.php');
if (isset($_POST['nadd'])) {
$p_name = $_POST['p_name'];
$p_color = $_POST['p_color'];
$p_category = $_POST['p_category'];
$c_id = $_POST['c_id'];
$p_status=$_POST['p_status'];
var_dump($_FILES);
if (!empty($_FILES['namepic']['name'])) {
$new_filename = "upload/" . $_FILES['namepic']['name'];
copy($_FILES['namepic']['tmp_name'], $new_filename);
}
$sql = "SELECT p_id FROM parts ORDER BY p_id DESC LIMIT 1";
$result = mysqli_query($conn, $sql);
$p_id = "P" . str_pad((substr(mysqli_fetch_assoc($result)["p_id"] ?? "P00000", 1)) + 1, 5, "0", STR_PAD_LEFT);
$sql1 = "INSERT INTO parts(p_id,p_name,p_color,p_category,c_id,namepic,p_status)
VALUES ('$p_id','$p_name','$p_color','$p_category','$c_id','$new_filename','$p_status')";
if (mysqli_query($conn, $sql1)) {
echo "<br/><br/>";
echo "บันทึกลงฐานข้อมูลเรียบร้อยแล้ว";
} else {
echo "เกิดข้อผิดพลาด : " . $sql . "<br>" . mysqli_error($conn);
}
}
?>
<br>
</FONT>
</form>
</div>
<!--ปิด-->
</div>
</div>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1" id="myForm">
<!-- Begin Page Content -->
<div class="container-fluid">
<div class="container-fluid">
<!-- DataTales Example -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<!-- หัว-->
<header class="w3-container" style="padding-top:22px">
<h5><b><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-journal-bookmark-fill" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z" />
<path d="M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z" />
<path d="M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z" />
</svg><i class="bi bi-journal-bookmark-fill"></i> ตารางข้อมูลชิ้นส่วน</b></h5><br>
<div class="form-group row">
<button type="button" class="btn btn-success" name="nameBorrow" data-toggle="modal" data-target="#modalBorrow_table" id="idBorrow">เพิ่มข้อมูลชิ้นส่วน</button>
<div class="col-sm-3"> <input type="text" class="form-control" name="txt_keyword" placeholder="ค้นหา"></div>
<br> <input type="submit" class="btn btn-warning"value="ค้นหา" />
</div>
</div>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1" id="form1" onSubmit="JavaScript:return fncSubmit();">
</form>
<?php
$search_text = isset($_POST['txt_keyword']) ? $_POST['txt_keyword'] : '';
$data = array();
$sql2 = "SELECT * FROM parts
WHERE p_id LIKE '%$search_text%'
OR p_name LIKE '%$search_text%'";
if ($result = $conn->query($sql2)) {
//printf("Select returned %d rows.\n", $result->num_rows);
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
//print_r($row);echo '<br>';
$data[] = $row;
}
/* free result set */
}
$result = mysqli_query($conn, $sql2);
?><br><br>
<center>
<div class="col-sm-10">
<table class="table">
<thead class="thead-light">
<tr>
<th align="center">รหัสชิ้นส่วน</th>
<th align="center">ประเภท</th>
<th align="center">ชื่อ</th>
<th align="center">สี</th>
<th align="center">หน่วย</th>
<th align="center">สถานะ</th>
<th align="center">แสดงเพิ่มเติม</th>
<th align="center">แก้ไข</th>
</tr>
<tbody>
<tr>
<?php
// while ($row = mysqli_fetch_assoc($result1)){
foreach ($data as $row) { ?>
</center>
</center>
<thead class="thead">
<th align="center"><?php echo $row['p_id']; ?></th>
<th align="center"><?php echo $row['c_id']; ?></th>
<th align="center" ><?php echo $row['p_name'] ?></th>
<th align="center"><?php echo $row['p_color'] ?></th>
<th align="center"><?php echo $row['p_category'] ?></th>
<th align="center"><?php echo $row['p_status'] ?></th>
<!--แสดง-->
<th align="center"><a href="partsopen.php?update_id=<?php echo $row['p_id'] ?>">
<button class="btn btn-outline-success" type="button" name="btnUpdate">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pencil-square" viewBox="0 0 16 16">
<path d="M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456l-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z" />
<path fill-rule="evenodd" d="M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z" />
</svg>
<i class="bi bi-pencil-square"></i>แสดง</button></th>
<!--แก้ไข-->
<th align="center"><a href="partsedit.php?update_id=<?php echo $row['p_id'] ?>">
<button class="btn btn-outline-danger" type="button" name="btnUpdate">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pencil-square" viewBox="0 0 16 16">
<path d="M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456l-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z" />
<path fill-rule="evenodd" d="M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z" />
</svg>
<i class="bi bi-pencil-square"></i>แก้ไข</button></th>
</tr>
<?php
} ?>
</tbody>
</table>
</center>
<?php
//end if
?>
</div>
</center>
</header>
<!-- End page content -->
</div>
<?php
mysqli_close($conn);
?>
<?php
include('includes/scripts.php');
?>
</body>
</html>
Date :
2021-07-23 20:31:45
By :
kawisara
ปัญหาที่พบ
Front
<input type="file" name="namepic" id="namepic" onclick="options()"multiple />
เว้นวรรคให้มันหน่อย
Back
$sql1 = "INSERT INTO parts(p_id,p_name,p_color,p_category,c_id,namepic,p_status)
VALUES ('$p_id','$p_name','$p_color','$p_category','$c_id','$new_filename' ,'$p_status')";
ฐานข้อมูลเป็น string (varchar)
$new_filename ก็เป็น string
ผลที่ได้คือทั้ง INSERT และ SELECT จะได้รูปสุดท้าย ใน/จาก ฐานข้อมูล
อันดับแรกพิจารณาออกแบบฐานข้อมูลเป็นแบบ RDD (แนะนำ)
แต่ถ้าอยากใช้ตารางเดียว อาจเก็บข้อมูลเป็น JSON, serialize data, Array String, etc
เช่นนี้แล้วส่วน Back(หลังบ้าน) ลูป $_FILES['namepic']['name'] เพื่อสร้าง String
เก็บไว้ใน $new_filename (ที่ทำมาเก็บ path แค่รูปเดียว)
สุดท้ายค่อยนำ $new_filename ไป INSERT
ตอนอ่านก็ SELECT มาแยก string แล้วลูปเพื่อแสดงผลตามกระบวนการ INSERT
ประวัติการแก้ไข 2021-07-23 22:05:34
Date :
2021-07-23 22:02:09
By :
TheGreatGod_of_Death
ขอบพระคุณมากๆค่ะ ขอไปศึกษาเพิ่มเติมก่อนนะคะ ขอบคุณอีกครั้งค่ะ
Date :
2021-07-23 22:37:11
By :
kawisara
Load balance : Server 05