มีวิธีบันทึกข้อมูล drop down list ใส่ใน array และบันทึกลง db มั้ยครับ
พอดีผมมือใหม่คับ เลยไม่ค่อยเก่ง
***ก่อนหน้านี้ได้ทำหน้าตะกร้าเพื่อเลือกเครื่องจักรที่จะส่งคับละส่งมายังหน้านี้
ตัวโค๊ดที่แสดงเครื่องจักรกับ drop down ไว้เลือกคนขับ
Code (PHP)
<?php
$conn = mysqli_connect("localhost","root","123456789");
mysqli_set_charset($conn,'utf8');
$sql = "use machinerental_db";
$result = mysqli_query($conn,$sql);
?>
<?php
$total=0;
foreach($_SESSION['cart'] as $mac_id=>$qty)
{
$sql = "select * from machine where mac_id=$mac_id";
$query = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($query);
?>
<?php
mysql_connect("localhost","root","123456789") or die(mysql_error());
mysql_select_db("machinerental_db");
?>
<?php
echo "<tr>";
echo "<td align='center'>" . $row["mac_id"] . "</td>";
echo "<td width='180'>" . $row["mac_name"] . "</td>";
echo "<td align='center'>" . $row["mac_type"] . "</td>";
echo "<td align='center'>" . $row["license_plate"] . "</td>";
echo "<td align='center'>" ?>
<select name="lmName1">
<option value=""><-- Please Select Item --></option>
<?php
$strSQL = "SELECT * FROM employee ORDER BY emp_id ASC";
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{
?>
<option value="<?php echo $objResuut["emp_id"];?>"><?php echo $objResuut["emp_id"]." - ".$objResuut["emp_name"];?></option>
<?php
}
?>
</select>
***ส่งค่ามาบันทึกลงที่นี่คับ
Code (PHP)
<?php
session_start();
$del_send = $_REQUEST['del_send'];
$del_senddate = $_SESSION['del_senddate'];
$mac_id = $_SESSION['mac_id'];
$ren_id = $_SESSION['ren_id'];
$del_status = 0;
$listdel_status = 0;
print_r($_POST["lmName1"]);
?>
<?php
$conn = mysqli_connect("localhost","root","123456789");
mysqli_set_charset($conn,'utf8');
$sql1 = "use machinerental_db";
$result = mysqli_query($conn, $sql1);
$sql1 = "INSERT INTO delivery (del_senddate, del_send, del_status, ren_id) VALUES ('$del_senddate', '$del_send', '$del_status', '$ren_id')";
$result = mysqli_query($conn,$sql1);
//ฟังก์ชั่น MAX() จะคืนค่าที่มากที่สุดในคอลัมน์ที่ระบุ ออกมา หรือจะพูดง่ายๆก็ว่า ใช้สำหรับหาค่าที่มากที่สุด นั่นเอง.
$sql2 = "SELECT MAX(del_id) as del_id FROM delivery WHERE del_senddate = '$del_senddate' and del_send = '$del_send' and del_status = '$del_status' and ren_id = '$ren_id'";
$query2 = mysqli_query($conn, $sql2);
$row = mysqli_fetch_array($query2);
$del_id = $row["del_id"];
//PHP foreach() เป็นคำสั่งเพื่อนำข้อมูลออกมาจากตัวแปลที่เป็นประเภท array โดยสามารถเรียกค่าได้ทั้ง $key และ $value ของ array
foreach($_SESSION['cart'] as $mac_id=>$qty)
{
mysql_connect("localhost","root","123456789") or die(mysql_error());
mysql_select_db("machinerental_db");
$strSQL = "SELECT * FROM employee WHERE emp_id = '".$_POST["lmName1"]."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
$emp_id = $objResult['emp_id'];
$emp_name = $objResult['emp_name'];
$sql3 = "SELECT * FROM machine WHERE mac_id=$mac_id";
$query3 = mysqli_query($conn, $sql3);
$row3 = mysqli_fetch_array($query3);
$mac_id = $row3['mac_id'];
$sql4 = "INSERT INTO list_delivery (listdel_status, mac_id, emp_id, del_id)VALUES('$listdel_status', '$mac_id','$emp_id','$del_id')";
$query4 = mysqli_query($conn, $sql4);
}
if($query4){
mysqli_query($conn, "COMMIT");
$msg = "บันทึกข้อมูลเรียบร้อยแล้ว ";
foreach($_SESSION['cart'] as $mac_id)
{
//unset($_SESSION['cart'][$p_id]);
unset($_SESSION['cart']);
}
}
else{
mysqli_query($conn, "ROLLBACK");
$msg = "บันทึกข้อมูลไม่สำเร็จ กรุณาติดต่อเจ้าหน้าที่ค่ะ ";
}
?>
ที่จะถามคือมีวิธีไหนมั้ยคับที่เลือก drop down แล้วให้บันทึกเป็น array และสามารถนำไปบันทึกลงใน db ได้
-และถ้าเรากดเลือกแล้วอีกอันจะไม่แสดงรายชื่อพนักงานคนที่เลือกแล้วใน dropdown อีกอันได้Tag : PHP, MySQL
Date :
2019-01-12 16:47:23
By :
10215890978539437
View :
2164
Reply :
1
Load balance : Server 02