2016-01-11 3 views
0

Я использовал следующий код, чтобы добавить несколько изображений в мою базу данных через админку моего сайта, это прекрасно работает, но я хочу отобразить несколько изображений, которые были загружены для этой конкретной ID транспортного средства ... в принципе я пытаюсь создать сайт для автодилера, когда администратор добавляет запас они могут выбрать несколько изображений для добавления в список, здесь добавить код акцииКак отображать несколько изображений из загрузки нескольких изображений

<?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 изображение отображает из нескольких изображений я загруженных, я хочу, чтобы все изображения, которые будут отображаться, которые были загружены для транспортного средства ID, в конце концов, это будет стилем в галерею изображений,

<?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> 

     "; 
} 
} 
?> 

Я новичок в кодировании и все еще учись, что я сделал неправильно? Любая помощь очень ценится

+0

sql определяется в цикле, но выполняется один раз за пределами цикла. '$ vehicle_makee' - правда? – RamRaider

+0

Вы получаете только одно изображение, потому что пытаетесь выбрать транспортные средства на основе '$ vehicle_id', который уникален (* я думаю *). Выберите транспортные средства на основе модели автомобиля, например: '$ veh_model = $ _GET ['veh_model']; $ get_veh = "select * from stock, где veh_model = '$ veh_model'"; ' –

ответ

0

привет, может быть, у вас есть ошибки на вашем коде, пожалуйста, попробуйте это и проверить код

для загрузки изображения

<?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); 
?> 

для списка imagens

<?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. Установить тип содержимого как изображение (изображение/jpg, image/gif, ...) с помощью PHP header(). распечатать содержимое изображения.

удачи и попробуйте