Melooo
Messages postés1405Date d'inscriptionvendredi 28 novembre 2008StatutMembreDernière intervention18 mars 2013
-
9 janv. 2009 à 09:40
irem -
Bonjour,
Je suis actuellement en train de créer une rubrique de photos... C'est à dire que je peux créer une rubrique et mettre plusieurs photos dans une rubrique. Le souci c'est que je peux mettre qu'une photo par rubrique. Ca fait plusieurs jours que je m'acharne mais rien y fait
Je vous donne un bout du code :
<?php
include ('connection.php');
include ('index.php');
$req = ("SELECT NomRubrique FROM rubri order by NomRubrique asc");
$result = mysql_query($req);
?>
<select name="choix">
<?php
while ($donnees = mysql_fetch_array($result))
{
echo "<option value = '$donnees[NumeroRubrique]'>" .$donnees['NomRubrique'] . "</option>";
}
$test = $_POST['choix'];
?>
</select>
<?php
//echo'<form action="ajout-image.php" method="post">
// <input name="txt_nom" type="text" value="'.$test.'">
//</form>';
//$nomrubrique=$_POST['txt_nom'];
?>
<form enctype="multipart/form-data" action="ajout-image.php" method="post">
Chemin de l'image : <input name="fichier" type="file" /><br /><br />
Titre de l'image : <input name="titre" type="text" size="20" /><br /><br />
Commentaire de l'image : <textarea name="commentaire_photo" cols="20" rows="7">
</textarea><br /><br />
<input name="txt_nom" type="text" value="<?php echo $test; ?>" />
<input name="ajout" type="hidden" value="3">
<input type="submit" value="Ajouter l'image" />
</form>
<?php
$test = $_POST['txt_nom'];
if ($_POST['ajout'] == 3)
{
$titre_photo=$_POST['titre'];
$commentaire_photo=$_POST['commentaire_photo'];
$nom_rubr=$test;
$req=mysql_query("SELECT NumeroRubrique FROM rubri WHERE NomRubrique='".$nom_rubr."';");
//$num_ope=mysql_result($req, 0);
while ($ligne = mysql_fetch_array($req) )
$num_rubr=$ligne[0];
$target = 'photos/reduites/'; // Repertoire cible
$extension = 'jpg'; // Extension du fichier sans le .
$max_size = 100000; // Taille max en octets du fichier
$width_max = 300; // Largeur max de l'image en pixels
$height_max = 300; // Hauteur max de l'image en pixels
//---------------------------------------------
// DEFINITION DES VARIABLES LIEES AU FICHIER
//---------------------------------------------
$nom_file = $_FILES['fichier']['name'];
$taille = $_FILES['fichier']['size'];
$tmp = $_FILES['fichier']['tmp_name'];
//----------------------
// SCRIPT D'UPLOAD
//----------------------
if(!empty($_FILES['fichier']['name']))
{
// On vérifie l'extension du fichier
if(substr($nom_file, -3) == $extension)
{
// On récupère les dimensions du fichier
$infos_img = getimagesize($_FILES['fichier']['tmp_name']);
// On vérifie les dimensions et taille de l'image
if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size))
{
$count=mysql_query("SELECT COUNT(NumeroImage) FROM imagereduite;");
$nb_photos=mysql_result($count, 0);
$nb_photos=$nb_photos+1;
// Si c'est OK, on teste l'upload
$photo = 'photos_'.$nb_photos.'.jpg';
if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target . $photo ) )
{
mysql_query ("INSERT INTO imagereduite SET LienImage='".$photo."', NomImage='" .$titre_photo ."', CommentaireImage='".$commentaire_photo."' ,NumeroRubrique=".$test.";");
echo ("INSERT INTO imagereduite SET LienImage='".$photo."', NomImage='" .$titre_photo ."', CommentaireImage='".$commentaire_photo."' ,NumeroRubrique=".$test.";");
// Si upload OK alors on affiche le message de réussite
echo '<b>Image uploadée avec succès !</b>';
echo '<hr />';
echo '<b>Fichier :</b> ', $photo, '<br />';
echo '<b>Taille :</b> ', $_FILES['fichier']['size'], ' Octets<br />';
echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />';
echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />';
echo '<hr />';
echo '<br /><br />';
echo '<form enctype="multipart/form-data" action="ajout-image.php" method="post">
Chemin de l\'image : <input name="fichier" type="file" /><br /><br />
Titre de l\'image : <input name="titre" type="text" size="20" /><br /><br />
Description de l\'image : <textarea name="commentaire_photo" cols="20" rows="7">
</textarea><br /><br />
<input name="txt_nom" type="hidden" value="'.$nom_rubr.'" />
<input name="ajout" type="hidden" value="4">
<input type="submit" value="Ajouter l\'image" />
</form>';
}
else
{
// Sinon on affiche une erreur système
echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</b><br /><br />';
}
}
else
{
// Sinon on affiche une erreur pour les dimensions et taille de l'image
echo '<b>Problème dans les dimensions ou taille de l\'image !</b><br /><br />';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
echo '<b>Le champ du formulaire est vide !</b><br /><br />';
}
}
Pour moi le problème vient de la ligne :
SELECT COUNT(NumeroImage) FROM imagereduite
En effet, NumeroImage qu'est ce que c'est? Tu ne l'utilises nulle part ailleurs, donc deux possibilités, soit c'est un champ autoincrement dans ta base, et dans ce cas utilise plutot un count(*), soit c'est autre chose et là, je ne vois pas, ton image sera toujours numerotée photo1...