2
我有一個簡單的html表單,它具有從foreach循環創建的文本框和文件輸入。我可以用我的代碼上傳文件,但無法更新我的數據庫。不過,我可以上傳數據庫,如果我提出查詢foreach循環之外,但我不能更新文件名Mysql更新多個文本框並同時上傳多個文件
foreach($_FILES['fileName']['name'] as $key => $value) {
$file_name = $_FILES['fileName']['name'][$key];
$file_size = $_FILES['fileName']['size'][$key];
$file_tmp = $_FILES['fileName']['tmp_name'][$key];
$file_ext = pathinfo($file_name, PATHINFO_EXTENSION);
$uploadLocation = "../upload/".$file_name;
$move = move_uploaded_file($file_tmp,$uploadLocation);
if($move) {
foreach($_POST['imageID'] as $key => $value) {
$image_ID = $_POST['imageID'][$key];
$image_title = $_POST['imageTitle'][$key];
$updateImage = $db->execute(
"UPDATE images
SET image_title=?, image_name=?
WHERE ID=$image_ID AND page_id=$page_id",
array($image_title, $file_name)
);
}
echo "Updated";
}else{
echo "Something went wrong!";
}
}
我的形式:
<?php
// Get images and image titles from the database
$content_images = $db->get_rows("SELECT * FROM images WHERE page_id = $page_id AND image_type = 'content' ");
foreach ($content_images as $image) :
$image_ID = $image->ID;
$image_name = $image->image_name;
$image_title = $image->image_title;
?>
<input name="imageTitle[<?php echo $image_ID; ?>]" type="text" value="<?php echo $image_title; ?>">
<img src="<?php echo $upload_folder.$image_name; ?>" alt="<?php echo $image_title; ?>">
<input type="file" name="fileName[]">
<input type="hidden" name="imageID[<?php echo $image_ID; ?>]" value="<?php echo $image_ID
<?php
endforeach;
?>
我也試過,其實。完全沒有任何變化 – Dejavu
@Dejavu您還需要在循環中更新數據庫代碼,以便在覆蓋'$ key' /'$ value'變量時不使用循環。我會在問題中增加更多信息。 – jeroen
好的謝謝,但我無法弄清楚如何爲文件和文本框編寫一個循環 – Dejavu