Я использовал следующий код для добавления нескольких изображений в свою базу данных через административную область моего веб-сайта, это прекрасно работает, но я хочу отобразить несколько изображений, которые были загружены для этого конкретного идентификатора транспортного средства … В основном я пытаюсь создать веб-сайт для автодилера, когда администратор добавляет акции, они могут выбрать несколько изображений для добавления в список, вот код добавления акции
<?php
if(isset($_POST['addstock'])){
$vehicle_make = $_POST['vehicle_make'];
$veh_model = $_POST['veh_model'];
$veh_mileage = $_POST['veh_mileage'];
$veh_description = $_POST['veh_description'];
$veh_price = $_POST['veh_price'];
$veh_gearbox = $_POST['veh_gearbox'];
$veh_engine_size = $_POST['veh_engine_size'];
$veh_fuel_type = $_POST['veh_fuel_type'];
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $key.$_FILES['files']['name'][$key];
$file_size = $_FILES['files']['size'][$key];
$file_tmp = $_FILES['files']['tmp_name'][$key];
$file_type = $_FILES['files']['type'][$key];$addstock = "insert into stock (veh_make,veh_model,veh_mileage,veh_description,veh_gearbox,veh_engine_size,veh_fuel_type,veh_price,file_name,file_size,file_type) values('$vehicle_makee','$veh_model','$veh_mileage','$veh_description','$veh_gearbox','$veh_engine_size','$veh_fuel_type','$veh_price','$file_name','$file_size','$file_type')";
move_uploaded_file($file_tmp,"image_uploads/".$file_name);
}
$addsto = mysqli_query($con, $addstock);
if($addsto){
echo "<script>alert('Vehicle has been added')</script>";
echo "<script>window.open('addstock.php','_self')</script>";
}
}
Код успешно добавляет несколько изображений в папку каталога,
Вот код за пределами административной области, на странице сведений об автомобиле отображается только 1 изображение из нескольких загруженных мной изображений, я хочу, чтобы отображались все изображения, которые были загружены для идентификатора транспортного средства, в конечном итоге это будет преобразовано в изображение галерея,
<?php
if(isset($_GET['vehicle_id'])){
$vehicle_id = $_GET['vehicle_id'];
$get_veh = "select * from stock where vehicle_id='$vehicle_id'";
$run_veh = mysqli_query($con, $get_veh);
while($row_veh=mysqli_fetch_array($run_veh)){
$vehicle_id = $row_veh['vehicle_id'];
$veh_make = $row_veh['veh_make'];
$veh_model = $row_veh['veh_model'];
$veh_mileage = $row_veh['veh_mileage'];
$veh_price = $row_veh['veh_price'];
$veh_gearbox = $row_veh['veh_gearbox'];
$veh_description = $row_veh['veh_description'];
$file_name = $row_veh['file_name'];
echo "
<div id='single_vehicle'><div id='box1'>$veh_make $veh_model</div>
<div id='box3'>£$veh_price</div>
</div><div id='single_vehicle2'>
<div id='box2'><img src='admin/image_uploads/$file_name' width='600' height='450' /></div>
<div id='box4'>
<div id='clickbox1'><a href='#'>Book Test Drive</a></div>
<div id='clickbox1'><a href='#'>Send Enquiery</a></div>
<div id='clickbox1'><a href='#'>Print this Page</a></div>
<div id='clickbox1'><a href='#'>Email this Page</a></div>
</div></div>
<div id='desription_area'>
<div id='desription_area1'><span style='text-decoration:underline'>Vehicle Description</span><br>$veh_description</div>
<div id='desription_area2'><span style='text-decoration:underline'>Specification</span><br>Make: $veh_make<br>$veh_model<br>$veh_mileage</div>
</div>
";
}
}
?>
Я новичок в программировании и все еще учусь, что я сделал не так?
Любая помощь высоко ценится
привет возможно у вас есть ошибка в вашем коде, пожалуйста попробуйте это и проверьте ваш код
для загрузки изображения
<?php
if(count($_FILES) > 0) {
if(is_uploaded_file($_FILES['userImage']['tmp_name'])) {
mysql_connect("localhost", "root", "");
mysql_select_db ("phppot_examples");
$imgData =addslashes(file_get_contents($_FILES['userImage']['tmp_name']));
$imageProperties = getimageSize($_FILES['userImage']['tmp_name']);
$sql = "INSERT INTO output_images(imageType ,imageData)
VALUES('{$imageProperties['mime']}', '{$imgData}')";
$current_id = mysql_query($sql) or die("<b>Error:</b> Problem on Image Insert<br/>" . mysql_error());
if(isset($current_id)) {
header("Location: listImages.php");
}}}
?>
<HTML>
<HEAD>
<TITLE>Upload Image to MySQL BLOB</TITLE>
<link href="imageStyles.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY>
<form name="frmImage" enctype="multipart/form-data" action="" method="post" class="frmImageUpload">
<label>Upload Image File:</label><br/>
<input name="userImage" type="file" class="inputFile" />
<input type="submit" value="Submit" class="btnSubmit" />
</form>
</div>
</BODY>
</HTML>
и для показа изображения сохранить в базе данных
<?php
$conn = mysql_connect("localhost", "root", "");
mysql_select_db("phppot_examples") or die(mysql_error());
if(isset($_GET['image_id'])) {
$sql = "SELECT imageType,imageData FROM output_images WHERE imageId=" . $_GET['image_id'];
$result = mysql_query("$sql") or die("<b>Error:</b> Problem on Retrieving Image BLOB<br/>" . mysql_error());
$row = mysql_fetch_array($result);
header("Content-type: " . $row["imageType"]);
echo $row["imageData"];
}
mysql_close($conn);
?>
для списка изображений
<?php
$conn = mysql_connect("localhost", "root", "");
mysql_select_db("phppot_examples");
$sql = "SELECT imageId FROM output_images ORDER BY imageId DESC";
$result = mysql_query($sql);
?>
<HTML>
<HEAD>
<TITLE>List BLOB Images</TITLE>
<link href="imageStyles.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY>
<?php
while($row = mysql_fetch_array($result)) {
?>
<img src="imageView.php?image_id=<?php echo $row["imageId"]; ?>" /><br/>
<?php
}
mysql_close($conn);
?>
</BODY>
</HTML>
Для отображения изображений BLOB в браузере мы должны создать файл PHP, чтобы выполнить следующие действия.
получить данные и тип изображения из MySQL BLOB. Установите тип содержимого как image (image / jpg, image / gif,…), используя PHP header (). печатать содержание изображения.
удачи и попробуй
Других решений пока нет …