Dreamweaver nous offre la possibilité d’afficher des images dynamique, provenant d’une base de données, nous allons voir comment afficher une ou des images dans une page web.
En général ce n’est pas le fichier image qui est inséré dans la base de données mais le chemin de cette image sur le serveur web ou simplement son nom, ce qui est bien moins lourd et surtout plus rapide à traiter pour le serveur de base de données. Il est alors possible de traiter ces images de manière dynamique, comme par exemple créer des imagettes, etc…
Vous pouvez télécharger la base de données ainsi que les images utilisées dans ce tutorial.
- La base de données :db_video.zip (3.04 KB)
- Les images :images.zip (62.88 KB)
Création du jeu d’enregistrement
On crée tout d’abord un jeu d’enregistrement, en sélectionnant les informations qui nous intéresse, en triant le résultat dans l’ordre voulu.

Insertion de l’image
Via le menu Insertion > Commun ou le raccourci clavier CTRL+Alt+I on insère l’image dynamique.

On sélectionne la source de l’image, en cochant la case Source de données puis en cliquant sur le champ de l’image, à savoir jaquette.

Il nous faut ensuite spécifier le dossier où se trouvent les images, on ajoute dans l’URL le nom de ce dossier, ici images.
Bien sûr, vous devez tenir compte de l’arborescence du dossier images, dans l’exemple celui-ci se trouve en racine du serveur.
Ajout d’informations
Il peut être nécessaire d’ajouter des informations concernant notre image, comme sa taille ou l’attribut alt (permet d’afficher un texte alternatif en cas de non-affichage de l’image) par exemple, pour ce faire il faut passer en mode source et taper ce code à la main :
[cc lang="php" lines="2"]
” alt=”” width=”200? height=”278? />
[/cc]
Conditions d’affichage
Si le champ jaquette de la base de données est renseigné et si l’image existe dans le dossier spécifié (/images) alors l’image sera affiché, dans le cas contraire c’est une croix rouge inesthétique qui apparaîtra, effet non voulu, il est donc nécessaire de faire une condition afin de palier aux différentes erreurs possibles.
Nous allons encapsuler notre image à l’intérieur d’une condition avant de l’afficher, pour ce faire on passe en mode source :
[cc lang="php" lines="8"]
if (file_exists(‘/images/’.$row_rsVideo['jaquette'])) { ?>
” alt=”” width=”200? height=”278? />
// fin show if file exist
?>
[/cc]
On peut ajouter une seconde condition plus bas, qui elle va nous permettre d’afficher un message si l’image n’existe pas :
[cc lang="php" lines="8"]
if (!file_exists(‘/images/’.$row_rsVideo['jaquette'])) { ?>
Pas d’image dans la base.
// fin show if file not exist
?>
[/cc]
Région répétée
Si on veut afficher plusieurs images il nous faut faire une région répétée, qui lira les enregistrements présents dans la base de données en boucle, suivant le nombre d’enregistrements spécifiés à afficher.
Afin de garder les conditions d’affichage, on doit bien sûr sélectionner celles-ci en même temps que l’image afin de les inclure dans la région répétée.
Vous pouvez accéder à cette fonction via la fenêtre Application > Comportements de serveur ou via le menu Insertion > Applications dynamique.

Puis on choisit le nombre d’enregistrements à afficher.

Bonjour !
Une petite question à propos des conditions d’affichage. Le code que tu donnes pour éviter la croix rouge, il se met où dans la page stp ? Car je n’avais jamais vu jusqu’à présent ce genre de « balise » : [cc]…[/cc]
Merci !
23 jan 2009 @ 16:46
Bonjour,
Je me pose la même question que Brigitte et j’essaie toutes le combinaisons possibles avec accolades etc… je n’y arrive pas.
Merci de votre aide.
Elena
18 oct 2009 @ 10:34
Bonjour, moi non plus je n’y arrive pas !!!
merci d’apporter quelques explications de plus.
rutayisire
24 oct 2009 @ 13:51
Ces codes [cc lang="php" lines="2"]
[/cc]
ne sont pas à taper ! Ils proviennent d’un ancien système d’affichage de code dans nos pages web. Malheureusement, lors de la mise à jour du site, ces lignes n’ont pas été supprimées.
17 nov 2009 @ 17:32
salut merci c’est trés gentil de votre part!
moi j’aimerai arreté sur un point.
dans url avant le code <?php echo……
nous devant ajouter le dossier ou se trouve les images le dossier /image/ par ex,et en plus vous nous avez demandez d'ajouter:(Bien sûr, vous devez tenir compte de l’arborescence du dossier images, dans l’exemple celui-ci se trouve en racine du serveur)
j'ai pas ccompris ca?
par ex l'arbressence de mes image c'est:
file:///C|/Program Files/EasyPHP1-8/www/88/images/
est ce que je dois ajouter tt ca ou seulement:
/88/images/
svp aidez nous!!
19 mai 2010 @ 0:40