Album photos 3
Résolu
papyclic
Messages postés
446
Date d'inscription
Statut
Membre
Dernière intervention
-
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Je souhaiterai pouvoir afficher le nombre d'images par Album.
Je vous met ce que j'ai fait si vous pouvez me donner votre avis s'ils vous plait car je ne vois pas pourquoi cela ne fonctionne pas.
Merci beaucoup
mes 2 tables concernées

ma fonction qui devrait afficher le nombre d'images
lien pour afficher le formulaire afin d'afficher le formulaire ajout_photo et l'appel de la fonction"NombreImages()"
Merci beaucoup
Je souhaiterai pouvoir afficher le nombre d'images par Album.
Je vous met ce que j'ai fait si vous pouvez me donner votre avis s'ils vous plait car je ne vois pas pourquoi cela ne fonctionne pas.
Merci beaucoup
mes 2 tables concernées


ma fonction qui devrait afficher le nombre d'images
function NombreImages($id_photo) { global $bdd; $sql = "SELECT * FROM tb_photo WHERE rid_album = :id_photo"; $requete = $bdd->prepare($sql); $requete->execute(array('id_photo' => $id_photo,)); $donnees = $requete->fetch(); $total = $requete->rowCount(); if ($total > 0) { return $total; } else { return "0"; } }
lien pour afficher le formulaire afin d'afficher le formulaire ajout_photo et l'appel de la fonction"NombreImages()"
<?php $sql = "SELECT * FROM tb_album ORDER BY annee_album"; $requete = $bdd->prepare($sql); $requete->execute(); $donnees = $requete->fetch(); $total = $requete->rowCount(); if ($total > 0) { ?> <div id="NbImage"> <table cellpadding="0" cellspacing="0" border="0"> <tr class="titre"> <th>Année Album</th> <th>Ajouter Images</th> <th>Supprimer</th> <th>Modifier</th> </tr> <?php do { ?> <tr> <td><?php echo $donnees['annee_album']; ?></td> <td> <a href="./index.php?body=ajout_photo&type=ajouter&id_album=<?php echo $donnees['id_album']; ?>"> (<?php echo NombreImages(isset($donnees['id_photo'])); ?>) Images</a> </td> </tr> <?php } while($donnees = $requete->fetch()) ?> </table> <?php } else { echo "<p class='erreur'>Il n'y a pas d'Albums de définis.</p>"; } ?> </div>
Merci beaucoup
A voir également:
- Album photos 3
- Album photos partagé - Guide
- Google photos album privé - Guide
- Ai suite 3 - Télécharger - Optimisation
- Toutes mes photos - Guide
- Album partagé google - Guide
5 réponses
Salut,
-> ta fonction NombreImages() attend en paramètre l'identifiant de la photo, or tu lui passes un booléen avec le retour de la fonction isset().
Pas besoin d'utiliser isset() ici car $donnees['id_photo'] sera toujours défini.
Soit tout simplement :
Petite optimisation : la requête de ta fonction NombreImage pourrait être simplifier comme ceci :
Tu peux ainsi récupérer directement le nombre d'album uniquement avec le fetch sans devoir utiliser rowCount().
Bonne journée
echo NombreImages(isset($donnees['id_photo']));
-> ta fonction NombreImages() attend en paramètre l'identifiant de la photo, or tu lui passes un booléen avec le retour de la fonction isset().
Pas besoin d'utiliser isset() ici car $donnees['id_photo'] sera toujours défini.
Soit tout simplement :
echo NombreImages($donnees['id_photo']);
Petite optimisation : la requête de ta fonction NombreImage pourrait être simplifier comme ceci :
SELECT count(*) FROM tb_album
Tu peux ainsi récupérer directement le nombre d'album uniquement avec le fetch sans devoir utiliser rowCount().
Bonne journée
Bonjour,
Merci de ton retour, en fait je ne comprends pas très bien si je met pas le isset j'ai un message en disant:
C'est bizarre en fait, c'est pour cela que j'avais rajouté isset.
Par contre je me demande pourquoi ça n'affiche pas le nombre d'images par Album, ma fonction est-elle bonne?
pourquoi dis-tu que je passe un booléen en paramètre, je passe bien id_photo.
Merci pour ton aide et excuse moi de mon ignorance j'essaie de comprendre.
Merci
Merci de ton retour, en fait je ne comprends pas très bien si je met pas le isset j'ai un message en disant:
Notice: Undefined index: id_photo in C:
C'est bizarre en fait, c'est pour cela que j'avais rajouté isset.
Par contre je me demande pourquoi ça n'affiche pas le nombre d'images par Album, ma fonction est-elle bonne?
pourquoi dis-tu que je passe un booléen en paramètre, je passe bien id_photo.
Merci pour ton aide et excuse moi de mon ignorance j'essaie de comprendre.
Merci
Bonjour,
Cordialement,
Jordane
<?php $sql = "SELECT * FROM tb_album ORDER BY annee_album"; $requete = $bdd->prepare($sql); $requete->execute(); $donnees = $requete->fetchall(); $total = count($donnees); if ($total > 0) { ?> <div id="NbImage"> <table cellpadding="0" cellspacing="0" border="0"> <tr class="titre"> <th>Année Album</th> <th>Ajouter Images</th> <th>Supprimer</th> <th>Modifier</th> </tr> <?php foreach( $donnees as $R){ $id_photo = $R['id_photo']; $id_album = $R['id_album']; $annee_album= $R['annee_album']; ?> <tr> <td><?php echo $annee_album; ?></td> <td> <a href="./index.php?body=ajout_photo&type=ajouter&id_album=<?php echo $id_album; ?>"> (<?php echo NombreImages($id_photo); ?>) Images</a> </td> </tr> <?php } ?> </table> <?php } else { echo "<p class='erreur'>Il n'y a pas d'Albums de définis.</p>"; } ?> </div>
function NombreImages($id_photo) { global $bdd; $sql = "SELECT count(*) as NB FROM tb_photo WHERE rid_album = :id_photo"; $params = array('id_photo' => $id_photo); $requete = $bdd->prepare($sql); $requete->execute($params); $donnees = $requete->fetchall(); $total = $donnees[0]['NB']; return $total ? $total : 0; }
Cordialement,
Jordane
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question