こんにちは私は、複数のファイルをアップロードして編集する際に問題があります。私は3つの画像アップロードファイルを持っています。 2番目または3番目のアップロードファイルに挿入すると、常に最初に表示されます。 (ただし、3枚の画像をすべてアップロードしても正常に動作します)データベースの設計 - 私はアップロードされたイメージの列について多くの列を持つべきですか、それとも、私はそれを新しい表にたくさんの行を入れておくべきですか?
私のデータベーステーブルは、写真家のイベントに関するものです。このような列は event_id、model_name、max_photographer_qty、reserve_photographer_qty、....... のようになり、この表には「location_img1」「location_img2」「location_img3」という列名があります。
質問は私は新しいテーブルに移動する必要がありますし、新しいテーブルでは、IDと1つの画像の列だけがありますか? 3つの画像をアップロードすると、新しいテーブルに3つの行が挿入されます。ここ
は私のコードです(私の古いテーブルには3列で1行を挿入である)$count=count($_FILES["images"]["name"]);
$arr_newname = array();
for($i=1; $i <= $count; $i++)
{
if ((($_FILES["images"]["type"][$i-1] == "image/gif")
|| ($_FILES["images"]["type"][$i-1] == "image/jpeg")
|| ($_FILES["images"]["type"][$i-1] == "image/png"))
&& ($_FILES["images"]["size"][$i-1] < 9000000)) //9 MB
{
if ($_FILES["images"]["error"][$i-1] > 0)
{
echo "File Error : " . $_FILES["images"]["error"][$i] . "<br />";
}
else
{
// echo "Upload File Name: " . $_FILES["images"]["name"][$i] . "<br />";
// echo "File Type: " . $_FILES["images"]["type"][$i] . "<br />";
//echo "File Size: " . ($_FILES["images"]["size"][$i]/1024) . " Kb<br />";
if (file_exists("images/location/".$_FILES["images"]["name"][$i-1]))
{
echo "<b>".$_FILES["images"]["name"][$i-1] . " already exists. </b>";
}
else
{
$newname = "id".$id."_".date('Y-m-d')."_".$i.".jpg"; //ใช้$id จากparameter methodเลย
array_push($arr_newname, $newname);
move_uploaded_file($_FILES["images"]["tmp_name"][$i-1] , "images/location/".$newname);
// echo "Stored in: " . "images/location/" . $_FILES["images"]["name"][$i] ."<br />";
?>
<?php
}
}
}else
{
//echo "Invalid file detail ::<br> file type ::".$_FILES["images"]["type"][$i-1] ." , file size::: ".$_FILES["images"]["size"][$i-1] ;
}
}
$data = array(
'location_pic' => $arr_newname['0'],
'location_pic2' => $arr_newname['1'],
'location_pic3' => $arr_newname['2']
);
$this->db->where('event_id', $id);
$this->db->update('oav_event', $data);
DGD
<tr>
<td><label style="color:#3a87ad; font-size:18px;">Location pic1</label></td>
<td width="30"></td>
<td><input type="file" name="images[]" size="20" /></td>
</tr>
<tr>
<td><label style="color:#3a87ad; font-size:18px;">Location pic2</label></td>
<td width="30"></td>
<td><input type="file" name="images[]" size="20" /></td>
</tr>
<tr>
<td><label style="color:#3a87ad; font-size:18px;">Location pic3</label></td>
<td width="30"></td>
<td><input type="file" name="images[]" size="20" /></td>
</tr>
1枚の画像を、行ごとに、新しいテーブルに。 – jarlh
PHPとHTMLコードの代わりにデータベーステーブルとサンプルデータを表示する – rbr94
イメージを追加する必要がある場合はどうなりますか?データベースの列数を変更する必要があります。プログラムは「私はそれを変える必要はない」という心で作られなければならない。新しい表を作成し、行ごとに1つのイメージを追加します。カラムに番号をつけて番号を付けることができます。それらを 'oav_event'テーブルにリンクする必要があります。 – Phiter