Album photo

Résolu/Fermé
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 2 juin 2015 à 18:20
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 - 2 juin 2015 à 22:48
Bonjour
J'ai commencé à créé un album photo et j'ai souhaité afficher les noms des albums avec le nombre de photo par album.
J'ai un petit soucis qui n'empèche pas le bon fonctionnement mais que j'aimerai malgrès tout comprendre pourquoi cela me cré une ligne ou il n'y a pas d'album, pour mieux comprendre, je vous joint une capture et mon script, si vous pouvez me donner une explication, je vous remercie.
function TotalImages($id_image) {
    global $bdd;
    
	$sql = "SELECT *
			FROM tb_image
			WHERE rid_album = :id_image";
	$requete = $bdd->prepare($sql);
	$donnees = $requete->execute(array('id_image' => $id_image,));
    $resultat = $requete->rowCount();
    
    if ($resultat > 0) {
        return $requete;
    } else {
        return "0";
    }
}

<?php
	$sql = "SELECT *
			FROM tb_album
			ORDER BY annee_album ASC";
	$requete = $bdd->prepare($sql);
	$donnees = $requete->execute();
	$resultat = $requete->rowCount();

	if ($resultat > 0) {
?>

<div id="ListeAlbum">
	<table cellpadding="0" cellspacing="0" border="0">
		<tr>
			<th>Nom Album</th>
			<th>Images</th>
			<th>Supprimer</th>
			<th>Editer</th>
		</tr>
		<?php do { ?>
		<tr>
			<td><?php echo $donnees['annee_album']; ?></td>
			<td>(<?php echo TotalImages($donnees['id_album']); ?>) Images</td>
			<td>Supprimer</td>
			<td>Editer</td>
		</tr>
		<?php } while ($donnees = $requete->fetch()); ?>
	</table>
</div>	
	<?php } else { echo "<p>Aucun Album de créé.</p>"; } ?>

A voir également:

2 réponses

hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
2 juin 2015 à 21:46
Bonsoir,

Il me semble qu'il y a une erreur dans la fonction
TotalImage()
. Il faut retourner
$resultat
et non pas
$requete
.

Pour enlever la ligne vide essayer ceci à la place de
do... while
:

while ($donnees = $requete->fetch())
{
?>
	<tr>
	<td><?php echo $donnees['annee_album']; ?></td>
	<td>(<?php echo TotalImages($donnees['id_album']); ?>) Images</td>
	<td>Supprimer</td>
	<td>Editer</td>
	</tr>
<?php
}

//On ferme le curseur de la base dedonnées
$requete->CloseCursor();
0
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
2 juin 2015 à 22:47
Bonjour
Merci vraiment un grand merci mes deux erreurs sont corrigés et ça m'a supprimé ma ligne de trop.
Nickel.
Cordialement
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
2 juin 2015 à 22:48
De rien,
Bonne continuation à vous !
0