2016-01-11 1 views
0

J'ai utilisé le code suivant pour ajouter plusieurs images à ma base de données via la zone d'administration de mon site Web, cela fonctionne très bien, mais je veux afficher les multiples images qui ont été téléchargées pour cette id véhicule ... en fait, je suis en train de créer un site Web pour un concessionnaire automobile, lorsque l'administrateur ajoute stock, ils peuvent choisir plusieurs images à ajouter à la liste, voici le code de stock ajouterComment afficher plusieurs images à partir de plusieurs images

<?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>"; 
} 
} 

le le code ajoute avec succès plusieurs images au dossier de répertoire,

Voici le code en dehors de la zone d'administration, sur la page de détails du véhicule, seulement 1 images affiche sur les multiples images que j'Uploaded, je veux toutes les images à afficher qui ont été téléchargés pour l'ID du véhicule, par la suite ce sera de style dans une galerie d'images,

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

     "; 
} 
} 
?> 

Je suis nouveau au codage et encore en train d'apprendre, qu'ai-je fait de mal? Toute aide est très appréciée

+0

sql est définie dans la boucle, mais exécutée une fois en dehors de la boucle. '$ vehicle_makee' - vraiment? – RamRaider

+0

Vous obtenez une seule image parce que vous essayez de sélectionner des véhicules basés sur '$ vehicle_id', ce qui est unique (* je suppose *). Sélectionnez les véhicules en fonction du modèle de véhicule, comme ceci: '$ veh_model = $ _GET ['veh_model']; $ get_veh = "sélectionnez * dans le stock où veh_model = '$ veh_model'"; ' –

Répondre

0

salut peut-être vous avez une erreur sur votre code s'il vous plaît essayez et vérifier votre code

pour l'image de téléchargement

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

et montrer l'image de sauvegarde sur la base de données

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

pour la liste 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> 

Pour afficher des images BLOB dans le navigateur, nous devons créer un fichier PHP à faire pour suivre. Obtenir les données d'image et le type de BLOB MySQL Définir le type de contenu en tant qu'image (image/jpg, image/gif, ...) en utilisant l'en-tête PHP (0). imprimer le contenu de l'image.

bonne chance et essayer