Images dynamiques : simple

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.

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.

Jeu d'enregistrements

Insertion de l’image

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

Insertion de 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.
Source de l'image dynamique

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.

Fonction

Puis on choisit le nombre d’enregistrements à afficher.

Choix du nombre d'enregistrements à afficher

Bookmark and Share

5 réponses Souscrire aux commentaires


  1. brigitte

    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


  2. Elena

    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


  3. rutayisire

    Bonjour, moi non plus je n’y arrive pas !!!
    merci d’apporter quelques explications de plus.

    rutayisire

    24 oct 2009 @ 13:51


  4. Bertrand

    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


  5. djamila

    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

Répondre