J'ai créé une galerie photos avec un menu déroulant permettant de choisir une rubrique pour afficher les photos qui se retrouvent dans cette rubrique.
Actuellement lorsque ma page s'affiche, je vois le menu déroulant avec en-dessous un message d'erreur:
Ces avertissements correspondent à ces lignes de code:Warning: imagecreatefromjpeg(./photos//mini/) [function.imagecreatefromjpeg]: failed to open stream
Warning: imagesx(): supplied argument is not a valid Image resource in ...
Warning: imagesy(): supplied argument is not a valid Image resource in ...
$JPEGRes = ImageCreateFromJPEG($ImagetteAbsolutePath);
$xsrc = imagesx($JPEGRes);
$ysrc = imagesy($JPEGRes);
Quand je choisis une rubrique, les images s'affichent correctement sous forme de galerie photos sans aucun problème .En fait, je voudrais que lorsque la page générale s'ouvre, il y ait déjà les photos de la 1ere rubrique par défaut sous la liste déroulante.
S 'ils choisissent une autre rubrique, les images de cette rubrique sont alors visibles comme actuellement.
Je suis un débutant php, si quelqu'un pouvait m'aider, ça me permettrait de résoudre mon souci,
merci
voici le code complet de la page:
<?php
mysql_connect("", "", "");
mysql_select_db("");
echo "<form action='BDDPhotos.php'
enctype='multipart/form-data'
method='post'
class='formpetit'>
Rubrique: ";
//pour afficher une liste déroulante reprenant les rubriques présentes dans ma table "rubrique"
echo '<select name="rubrique">';
$requete = mysql_query("SELECT * FROM Rubrique ORDER BY RubriqueID") or exit("erreur rubrique");
while($reponse = mysql_fetch_array($requete))
{
echo '<option value="'.$reponse['RubriqueID'].'">'.$reponse['RubriqueName'].'</option>';
}
echo "</select><br/>
<input type='submit' value='Voir les photos' id='submit'/>
</form>";
// Commence la table dans laquelle sont affichées les imagettes
echo "<table border='0' width='100%'><tr style='height:100%'>";
$RubriqueID = $_POST['rubrique'];
// Récupère la liste des images de la rubrique sélectionnée
$result = mysql_query ("SELECT * FROM Image WHERE RubriqueID='$RubriqueID' ORDER BY MiniName") or die (mysql_error());
// On veut afficher 4 images par ligne
$NbrImgParLigne = 4;
$NumImgLigne = 0;
// Traite les images une après les autres
while ($row = mysql_fetch_array($result))
{
// Passe l'affichage des images à la ligne si 4 images affichées
if ($NumImgLigne>=$NbrImgParLigne)
{
echo "</tr><tr>";
$NumImgLigne = 0;
}
$NumImgLigne++;
// Commence une colonne de la grille pour y inclure l'image
echo "<td align='center'>";
// Récupère l'ID et le nom de l'image, en déduit le nom de la miniature
$ImageID = $row['ImageID'];
$ImageName = $row['ImageName'];
$MiniName = $row['MiniName'];
// Chemin absolu de l'imagette
$ImagetteAbsolutePath = $MiniName;
$ImageAbsolutePath = $ImageName;
// Récupère les dimensions de l'imagette
$JPEGRes = ImageCreateFromJPEG($ImagetteAbsolutePath);
$xsrc = imagesx($JPEGRes);
$ysrc = imagesy($JPEGRes);
//affichage de la photo en agrandissement
echo '<a href="bigphoto.php?img='.$ImageName.'&title='.$ImageID.'" title="cliquez sur la photo pour laisser un commentaire!"><img src="'.$ImagetteAbsolutePath.'" border="0" alt="miniature"></a>';
// Termine la colonne de la grille pour cette image
echo "</td>";
}
// Termine la grille
echo "</tr></table>";
?>