Salut,voilà j'ai suivi le tutoriel sur comment gérer une galerie et tout marche bien appars au niveau de l'affichage, j'enregistre tout dans une seule table galerie (sans spéarer la catégorie et l'image). J'utilise le script du tuto pour crée une miniature et garder la taille orginale. J'enregistre les deux dans une base de donnée tout marche très bien sauf que quand j'essaye de tout afficher cela m'afiche seulement la dernière image uploader =/
Le formulaire :
[code]<form method="POST" action="upload2.php" enctype="multipart/form-data">

                            <p> <label for="cat">Catégorie de l'image :</label><br />
                               <select name="cat" id="cat">
                                   <option value="tournoi">Tournoi</option>
                                   <option value="delires">Les délires</option>
                                   <option value="maillots">Les maillots</option>
                               </select>    
                            <input type="file" name="img" id="img" >
                             <label for="img_name">Nom de l'image</label>  
                             <input type="text" name="img_name"  id="img_name" /></br />
                                <button type="submit" name="envoyer" id="btn_adm">Envoyer</button>
                           </p>
                     </form>[/code]

L'upload et l'enregistrement dans la table galerie:

[code]<?php
if(!empty($_FILES))
{
require("imgClass.php");
$img = $_FILES['img'];
$ext = strtolower(substr($img['name'],-3));
$allow_ext = array('jpg', 'png', 'gif', 'jpeg');
if(in_array($ext, $allow_ext))
{
move_uploaded_file($img['tmp_name'], "../img/".$img['name']);

$adresse_img = 'http://ns9.freeheberg.com/~fruits/img/'.$img['name'];
Img::creerMin("../img/".$img['name'], "../img/min", $img['name']);

require "../inclusions/config.php";
$img_min = "/~fruits/img/min/".$img['name'];
$img_max = "/~fruits/img/".$img['name']; 
          if(!empty($_POST))
          {
                  mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
                  mysql_select_db(DB_BDD);
                  mysql_query ('SET NAMES "UTF8"');

                  extract($_POST);

                    $cat = $_POST['cat'];
                    $name = addslashes($_POST['img_name']);

                  $sql = "INSERT INTO galerie (cat,name,min,max) VALUES ('$cat','$name','$img_min','$img_max')";
                  $req = mysql_query($sql) or die('Erreur SQL !<br />' .$sql. '<br />' .mysql_error());

                    header("location:/~fruits/admin/index_gal.php");

          }else
          {
                    echo '<p>Erreur vous Devez saisir un nom pour l\'image...</p>'; 
          }

}
else
{
    echo '<p>L\'image doit être du format Gif, Jpg ou Png...</p>';
}

}
else
{
echo '<p>Erreur ! Vous devez selectionner une image et lui donner un titre...</p><br />';
echo '<a href="/~fruits/admin/index_gal.php">Cliquez ici</a>';
}
?>[/code]

Et enfin l'affichage qui n'affiche que la dernière photo upload :

[code] <?php
require "inclusions/config.php";

  mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
  mysql_select_db(DB_BDD);
  mysql_query ('SET NAMES "UTF8"');

  $sql = "SELECT * FROM galerie";
  $req = mysql_query($sql) or die('Erreur SQL !<br />' .$sql. '<br />' .mysql_error());
  $data = mysql_fetch_array($req); 

          while ($data = mysql_fetch_assoc($req))
     {

          $titre_photo = $data["img_name"];
          $img_min = $data["min"];
          $img_max = $data["max"];
           echo '<h2>'. $titre_photo .'</h2>';
           echo '<a href="'.$img_max.'"><img src="'.$img_min.'" alt="'.$titre_photo.'" /></a>';
     }

  ?>[/code]

Voilà si quelqu'un à une idée je suis preneur, merci d'avance.

Aucune réponse