Affichage d'image d'après une base de données
Bonjour,
C'est la deuxième fois que je poste sur ce forum et jusqu'a présent je suis très satisfait des résultats obtenu.
J'ai fais une requête afin d'afficher mes image/photo sur une page.
Voici comment se décompose mon projet :
J'ai deux tables (Rubrique et Image), la jointure des deux tables est fait par RubriqueID - La structure est la suivante :
Code:
1 2 3 4 5 6 7 8
| (CREATE TABLE `Rubrique` (
`RubriqueID` smallint(6) NOT NULL auto_increment,
`RubriqueName` varchar(80) NOT NULL,
`RubriqueDesc` tinytext,
`Date` date default NULL,
`Time` time default NULL,
PRIMARY KEY (`RubriqueID`)
); |
Code:
1 2 3 4 5 6 7 8 9 10 11
| CREATE TABLE `Image` (
`ImageID` smallint(6) NOT NULL auto_increment,
`RubriqueID` smallint(6) NOT NULL,
`ImageName` varchar(80) NOT NULL,
`ImageDesc` tinytext,
`ImageRes` varchar(20) default NULL,
`ImageSize` smallint(6) default NULL,
`Date` date default NULL,
`Time` time default NULL,
PRIMARY KEY (`ImageID`)
);). |
J'ai créer une requête qui devra me permetre de selectionner la catégorie de l'image/photo et puis les afficher a l'écran en miniature (48*48)
Ci-joint mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
?php
echo "Visualisation des images selon les rubriques EN 48*48 pixel";
include ("inc_cnx.php");
echo "<form action='inc_image.php'
enctype='multipart/form-data'
method='post'>
Rubrique: ";
$query = "SELECT RubriqueID, RubriqueName FROM Rubrique
ORDER BY RubriqueName DESC";
$result = mysql_query($query) or die("ERROR");
echo "<select name='frm_select_rubrique'>";
$Selected = 0;
while ($row = mysql_fetch_array($result))
{
if($Selected == 0)
{
echo '<option value="', $row['RubriqueID'], '" selected="selected">', $row['RubriqueName'],
'</option>';
$Selected = 1;
}
else
{
echo '<option value="', $row['RubriqueID'], '">', $row['RubriqueName'], '</option>';
}
}
echo "</select>
<input type='submit' value='afficher les images'/>
</form>";
//**********************************************************************************************
// declaration de mes variable
$RubriqueID='$RubriqueName';
$ImageID='$RubriqueID';
//*********************************************************************************************
// LA CLEF PRIMAIRE RELIANT LES DEUX TABLE C'EST RUBRIQUEID
// La description (requête sur la base des Rubrique)
$query = "SELECT RubriqueDesc AS RubDesc
FROM Rubrique
WHERE RubriqueID='$RubriqueID'";
$result = mysql_query($query) or die("ERROR");
$RubDesc = mysql_result($result,0,"RubDesc");
// Le nombre d'images (requête sur la base des images)
$query = "SELECT count(ImageID) AS ImgCount
FROM Image
WHERE RubriqueID='$ImageID'";
$result = mysql_query($query) or die("ERROR");
$ImgCount = mysql_result($result,0,"ImgCount");
echo "<br/><br/>$RubDesc<br/><br/>$ImgCount image(s)<br/><br/>";
// Commence la table dans laquelle sont affichées les imagettes
echo "<table border='0' width='100%'><tr>";
// Récupère la liste des images de la rubrique sélectionnée
$query = "SELECT ImageID, ImageName, ImageRes, ImageSize
FROM Image
WHERE RubriqueID='$RubriqueID'
ORDER BY ImageName";
$result = mysql_query($query);
//***********************************************************************************
// 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'];
//*************************************************************************************
// Chemin absolu de l'image
$Image = "../photos/".$RubriqueName."/".$ImageName;
//************************************************************************************
// Affiche le nom de l'image et l'image
echo "$ImageName<br/><img src='$Image'
width='48' height='48' border='1' alt='$ImageName'>";
//***********************************************************************************
// Termine la colonne de la grille pour cette image
echo "</td>";
}
// Termine la grille
echo "</tr></table>";
?> |
J'ai cette erreur qui m'est retourné
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Visualisation des imagettes selon les rubriques
Rubrique: VuePaysageNatureFleurDivers
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 5 in E:\Program Files\EasyPHP 2.0b1\www\zimages\inc\inc_image.php on line 46
0 image(s)
LA LIGNE 46 : $RubDesc = mysql_result($result,0,"RubDesc"); |
Merci de votre aide et bonne continuation
runcafre91