Creer une fiche détaillé d'image

lionel -  
bg62 Messages postés 26248 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je veux pouvoir cliquer sur une image de ma galerie et que cela maffiche un tableau comme cela

<table>
<tr><td>image selectionner en grand</td>
<td><tr>image 2</tr><tr>image3</tr><tr>image4</tr><tr>image5</tr></td>
</tr></table>

//avec par exemple l'image en grand en width="500" et les autre en width="150" comme cela à chaque fois que l'on clique sur une image elle remplace celle en grand.



voila comment je vois les chose mais après beaucoup de test je ne trouve aucune solution et s'achant que je stocke tous sur une base de donnée quand je clique sur une image je n'arrive pas à prendre que l'id de mon image mais je renvoie tout les id dans j'ai toutes ma galerie qui s'affiche alors que pour chaque élément de ma galerie, je voudrai avoir 5 image et le détaille de mes véhicules.

voici mes script:

script pour entree et traiter les nouveau véhicules à rentrer:
<head>
       <title>Envoyer une image</title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	   <style type="text/css">
		label {
			display:block;
			width:150px;
			float:left;
		}
	   </style>
              <!-- page de style CSS -->
		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="../style/designformulaire.css" />
   </head>
   <body>
	
<?php
  if(isset($_POST['validation'])) {
	 
	 //Indique si le fichier a été téléchargé
	 if(!is_uploaded_file($_FILES['image']['tmp_name']))
		echo 'Un problme est survenu durant l opration. Veuillez ressayer !';
	 else {
		//liste des extensions possibles    
		$extensions = array('/png', '/gif', '/jpg', '/jpeg', '');
		
		//rcupre la chane  partir du dernier / pour connatre l'extension
		$extension = strrchr($_FILES['image']['type'], '/');
		$extension2 = strrchr($_FILES['image2']['type'], '/');
		$extension3 = strrchr($_FILES['image3']['type'], '/');
		$extension4 = strrchr($_FILES['image4']['type'], '/');
		$extension5 = strrchr($_FILES['image5']['type'], '/');
		
		//vrifie si l'extension est dans notre tableau            
		if((!in_array($extension, $extensions)) || (!in_array($extension2, $extensions)) || (!in_array($extension3, $extensions)) || (!in_array($extension4, $extensions)) || (!in_array($extension5, $extensions))){
			echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';}
		else {         

			//on dfinit la taille maximale
			define('MAXSIZE', 1000000);        
			if(($_FILES['image']['size'] > MAXSIZE) || ($_FILES['image2']['size'] > MAXSIZE) || ($_FILES['image3']['size'] > MAXSIZE) || ($_FILES['image4']['size'] > MAXSIZE) || ($_FILES['image5']['size'] > MAXSIZE)){
			   echo 'Votre image est suprieure  la taille maximale de '.MAXSIZE.' octets';}
			else {
				//on se connecte (remplacer les paramtres de connexion)
				$connexion = mysql_connect("localhost", "root", "") or exit (mysql_error());
				$database = mysql_select_db("vehicules_neufs") or exit (mysql_error());
				
				//rcupration des infos saisies
				$nom = mysql_escape_string($_POST['nom']);
				$carrosserie = mysql_escape_string($_POST['carrosserie']);
				$version = mysql_escape_string($_POST['version']);
				$description = mysql_escape_string($_POST['description']);
				
				//Lecture du fichier. On doit utiliser la fonction mysql_escape_string car les donnes binaires contiennent des caractres spciaux.
				$image = mysql_escape_string(file_get_contents($_FILES['image']['tmp_name']));
				if(!empty($_FILES["image2"]["name"]))
				$image2 = mysql_escape_string(file_get_contents($_FILES['image2']['tmp_name']));
				if(!empty($_FILES["image3"]["name"]))
				$image3 = mysql_escape_string(file_get_contents($_FILES['image3']['tmp_name']));
				if(!empty($_FILES["image4"]["name"]))
				$image4 = mysql_escape_string(file_get_contents($_FILES['image4']['tmp_name']));
				if(!empty($_FILES["image5"]["name"]))
				$image5 = mysql_escape_string(file_get_contents($_FILES['image5']['tmp_name']));
				
				//Il ne reste qu' insrer tout a dans notre table.
				mysql_query("INSERT INTO vehicules(nom, carrosserie, version, description, image, extension, image2, extension2, image3, extension3, image4, extension4, image5, extension5) VALUES('".$nom."', '".$carrosserie."', '".$version."',  '".$description."', '".$image."', '".$_FILES['image']['type']."', '".$image2."', '".$_FILES['image2']['type']."', '".$image3."', '".$_FILES['image3']['type']."', '".$image4."', '".$_FILES['image4']['type']."', '".$image5."', '".$_FILES['image5']['type']."')") or exit (mysql_error());
				mysql_close();
				echo '<h3>L insertion s est bien déroulé !</h3>';
			 }
		  }
	  }
  }
?>
	
	<!-- logo -->
	<div class="logo">
	<img src="../image/logo.png" alt="logo renault" title="logo renault" />
	</div>

	<!-- création de l'entête ( barre grise de fond) -->
	<div class="entete">
	<p>Entrer ici la liste des nouveaux véhicules<br /></p>
	</div>
   
	<h1>Formulaire de saisie:</h1>
	<form enctype="multipart/form-data" action="../php/entree_nouveau_vehicule.php" method="post">
		<p>
			<label for="nom">Nom : </label><input type="text" name="nom" id="nom" size="20" maxlength="40"/><br /><br />
            <label for="carrosserie">Carrosserie :</label>
            <select name="carrosserie">
    		<option value="france">Berline</option>
    		<option value="espagne">Break</option>
    		<option value="italie">Cabriolet</option>
            <option value="france">Citadine</option>
    		<option value="espagne">Coupé</option>
    		<option value="italie">Ludospace</option>
            <option value="france">Monospace</option>
    		<option value="espagne">Préstige</option>
    		<option value="italie">Routière</option>
            <option value="france">S.U.V</option>
    		<option value="espagne">Utilitaire</option>
		</select><br /><br />
        <label for="version">Version :</label><input type="text" name="version" id="version" size="35"/><br /><br />
	
			<label for="description">Description : </label><textarea name="description" id="description" rows="10" cols="50"></textarea><br /><br />
			<label for="image">Image obligatoire : </label><input type="file" name="image" id="image" /><br />
            <label for="image2">Image 2: </label><input type="file" name="image2" id="image2" /><br />
            <label for="image3">Image 3: </label><input type="file" name="image3" id="image3" /><br />
            <label for="image4">Image 4: </label><input type="file" name="image4" id="image4" /><br />
            <label for="image5">Image 5: </label><input type="file" name="image5" id="image5" /><br /><br /><br />
            
			<input type="submit" name="validation" id="validation" value="Valider"  />
		</p>
	</form>
  

</body>
</html>


script pour afficher ma galerie:
<html>
<head>
</head>
<body>
<div class="corps">

<h1>Véhicules Neufs</h1><br />

	<?php
	    $connexion = mysql_connect("localhost", "root", "") or exit (mysql_error());
	    $database = mysql_select_db("vehicules_neufs") or exit (mysql_error());
		mysql_query('SET NAMES utf8');
	    
	    $affichage = mysql_query("SELECT id_img, nom, description, image FROM vehicules") or exit (mysql_error());
	    while($result = mysql_fetch_assoc($affichage)) {
	       
		echo '<div class="int">';
		echo '<a class="avn" href="apercu.php?id_img='.$result['id_img'].'"><img src="apercu.php?id_img='.$result['id_img'].'" alt="'.$result['nom'].'" title="'.$result['nom'].'" width="120"/></a>';
		echo '<p class="pvn" style="text-align:center">'.$result["nom"].'</p>';
		echo '</div>';
		
	    }
	    mysql_close();
	?>
    



</div></body></html>


script apercu:
<?php 
//si nous avons une image 
if(!empty($_GET['id_img'])) { 

//connexion à la base de données 
$connexion = mysql_connect("localhost", "root", "") or exit (mysql_error()); 
$database = mysql_select_db("vehicules_neufs")or exit (mysql_error()); 

//on sécurise notre donnée 
$idImg = intval($_GET['id_img']); 

//la requète qui récupère l'image à partir de l'identifiant 
$apercu = mysql_query("SELECT extension, image FROM vehicules WHERE id_img = ".$idImg) or exit (mysql_error()); 

//si le résultat est différent de 1 
if(mysql_num_rows($apercu) != 1) 
echo 'L image n existe pas !'; 
else { 
//on stocke les données dans un tableau 
$reponse = mysql_fetch_assoc($apercu); 
//on indique qu'on affiche une image 
header ("Content-Type: ".$reponse['extension']); 
//on affiche l'image en elle même 
echo $reponse['image']; 
} 
mysql_close(); 
} else 
echo 'Vous n avez pas sélectionné d image !'; 
?> 


donc tous cela fonctionne pour créer ma galerie mais quand je clique sur une image elle s'affiche en grand sur une nouvelle page seulement je ne trouve pas la façon de faire.

ma base de donnée:
`id_img` :auto-increment : int
 `nom` :text
`carrosserie` :varchar
 `version` :varchar
`description` :varchar
 `image` :longblob
 `extension` :varchar
`image2` :longblob
`extension2` :varchar
'image3' :longblob
`extension3` :varchar
 `image4` :longblob
 `extension4` :varchar
 `image5` :longblob
 `extension5`:varchar
A voir également:

2 réponses

lionel
 
s'il vous plaît personne n'a une idée, désolé de redemander mais j'en ai vraiment besoin et vue que je suis tout de même asser novice je ne pense pas pouvoir le trouver même si je test encore beaucoup de chose.
Merci à vous
0
bg62 Messages postés 26248 Date d'inscription   Statut Modérateur Dernière intervention   2 426
 
bonjour,
ça faisait longtemps ... mais aujourd'hui je repique ma crise ....
ce forum est ouvert à tous, mais par respect pour ceux qui voudraient vous aider, pour ceux qui vous répondent,
pourquoi ne pas vous inscrire ?
c'est gratuit et sans risque (sauf celui de trouver des gens indésirables qui parcourent les forums pour polluer ...)
merci
0