เอา id ล่าสุดไปใส่ใน table ที่เก็บเป็น multiple image
ผมจะเอา id ที่เพิ่มล่าสุดไปใส่ใน table image เพื่อจะเอาไว้คุมว่ารูปภาพนั้น เป็นของ id อะไร แต่ตอนนี้ยังเอา id ใส่เข้าไปไม่ได้ครับ
เพิ่มข้อมูลเข้าไปใน table แรกได้ครับ แต่อีก table ค่า id ไม่เข้า ครับ
Code (PHP)
<?php
// Include the database configuration file
include('config/dbconfig.php');
$head_name_news = $_POST['head_name_news'];
$details_news = $_POST['details_news'];
$an_status = $_POST['an_status'];
$attach = $_FILES['files'];
//เพิ่มข้อมูล teble1
$sql1 = " INSERT INTO news
(head_name_news, details_news, an_status)
VALUES
('$head_name_news', '$details_news' , '$an_status')";
if (mysqli_query($db, $sql1)) {
$last_id = mysqli_insert_id($db);
echo "New record created successfully. Last inserted ID is: " . $last_id;
} else {
echo "Error: " . $sql1 . "<br>" . mysqli_error($db);
}
//เพิ่มข้อมูล teble1
if(isset($_POST['submit'])){
// File upload configuration
$targetDir = "assets/img/offers/";
$allowTypes = array('jpg','png','jpeg','gif');
$statusMsg = $errorMsg = $insertValuesSQL = $errorUpload = $errorUploadType = '';
$fileNames = array_filter($_FILES['files']['name']);
if(!empty($fileNames)){
foreach($_FILES['files']['name'] as $key=>$val){
// File upload path
$fileName = basename($_FILES['files']['name'][$key]);
$targetFilePath = $targetDir . $fileName;
// Check whether file type is valid
$fileType = pathinfo($targetFilePath, PATHINFO_EXTENSION);
if(in_array($fileType, $allowTypes)){
// Upload file to server
if(move_uploaded_file($_FILES["files"]["tmp_name"][$key], $targetFilePath)){
// Image db insert sql
$insertValuesSQL .= "('".$fileName."', NOW()),";
}else{
$errorUpload .= $_FILES['files']['name'][$key].' | ';
}
}else{
$errorUploadType .= $_FILES['files']['name'][$key].' | ';
}
}
// Error message
$errorUpload = !empty($errorUpload)?'Upload Error: '.trim($errorUpload, ' | '):'';
$errorUploadType = !empty($errorUploadType)?'File Type Error: '.trim($errorUploadType, ' | '):'';
$errorMsg = !empty($errorUpload)?'<br/>'.$errorUpload.'<br/>'.$errorUploadType:'<br/>'.$errorUploadType;
if(!empty($insertValuesSQL)){
$insertValuesSQL = trim($insertValuesSQL, ',');
// Insert image file name into database
echo $last_id;
$insert = "INSERT INTO images (file_name, uploaded_on, id_news) VALUES $insertValuesSQL, $last_id";
if($insert){
$statusMsg = "Files are uploaded successfully.".$errorMsg;
}else{
$statusMsg = "Sorry, there was an error uploading your file.";
}
}else{
$statusMsg = "Upload failed! ".$errorMsg;
}
}else{
$statusMsg = 'Please select a file to upload.';
}
}
?>
Tag : PHP
Date :
2021-08-27 10:34:03
By :
stepartz
View :
646
Reply :
3
Code ที่แปะมาดูยากนะครับ เอาขั้นตอนไปแทนนะ
1. insert table news แล้ว เอา id เก็บใส่ parameter ไว้
2. loop file images ที่ ส่งมา และใส่ news_id = parameter จากข้อ 1
มีเท่านี้ครับ
Date :
2021-08-27 11:14:27
By :
mongkon.k
Query ผิด:
Code (PHP)
$insert = "INSERT INTO images (file_name, uploaded_on, id_news) VALUES $insertValuesSQL, $last_id";
VALUES ('fileName', NOW()),$last_id
last_id ต้องอยู่ข้างใน
VALUES ('fileName', NOW(), $last_id)
และยังไม่สั่ง run query:
Code (PHP)
if($insert){
Date :
2021-09-01 10:21:49
By :
Guest
Load balance : Server 02