Album photo 2

Résolu
papyclic Messages postés 451 Statut Membre -  
papyclic Messages postés 451 Statut Membre -
Bonjour,

Je rencontre encore un petit problème lors de la création de mon Album photo. Je souhaite simplement afficher le nom de l'album avant de le supprimer. C'est quelque chose de très basique, mais encore une chose qui m'échappe, pouvez-vous une fois encore m'aider s'ils vous plait.
Ci-dessous mon lien qui devrait m'afficher le nom de l'Album.
<?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 while ($donnees = $requete->fetch()) { ?>
		<tr>
			<td><?php echo $donnees['annee_album']; ?></td>
			<td>(<?php echo TotalImages($donnees['id_album']); ?>) Images</td>
			<td><a href="index.php?body=supp_album&type=supprimer&id_album=<?php echo $donnees['id_album'];?>">Supprimer</a></td>
			<td>Editer</td>
		</tr>
		<?php } ?>
	</table>
</div>	
	<?php } else { echo "<p>Aucun Album de créé.</p>"; } ?>

ci-dessous ma page supp_album qui me retourne ma page 404.php au lieu des "echo".
	if(isset($id_album)) {
		
		echo "<h1>Galerie Photos > Album > Supprimer >";
		echo NomAlbum($id_album);
		echo "</h1>";
	
	} else {
		require_once("erreur_404.php");
	}

ci-dessous ma fonction NomAlbum
function NomAlbum($id_album) {
    global $bdd;
    
	$sql = "SELECT *
			FROM tb_album
			WHERE id_album = :id_album";
	$requete = $bdd->prepare($sql);
	$donnees = $requete->execute(array('id_album' => $id_album,));
    $resultat = $requete->rowCount();
    
    if ($resultat > 0) {
        return $donnees['annee_album'];
    } else {
        return "";
    }
}

sinon au niveau de l'url c'est bien ça
/index.php?body=supp_album&type=supprimer&id_album=10


4 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Dans ta fonction NomAlbum tu utilises une variable $donnees alors que celle-ci n'est pas initialisée. Il te manque un fetch sur le résultat de ta requête pour récupérer les données.

    Bonne journée
    0
  2. papyclic Messages postés 451 Statut Membre 3
     
    Bonjour
    Pouvez-vous me dire ce que j'ai encore mal fait s'ils vous plait, mon problème est toujours le même ça me retourne ma page 404.php
    Voici ma fonction
    Merci
    function NomAlbum($id_album) {
        global $bdd;
        
    	$sql = "SELECT *
    			FROM tb_album
    			WHERE id_album = :id_album";
    	$requete = $bdd->prepare($sql);
    	$requete->execute(array('id_album' => $id_album,));
        $donnees = $requete->fetch();
        $resultat = $requete->rowCount();
        
        if ($resultat > 0) {
            return $donnees['annee_album'];
        } else {
            return "";
        }
    }
    

    et ma requète
    <?php
    	$sql = "SELECT *
    			FROM tb_album
    			ORDER BY annee_album ASC";
    	$requete = $bdd->prepare($sql);
    	$requete->execute();
        $donnees = $requete->fetch();
        $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 while ($donnees = $requete->fetch()) { ?>
    		<tr>
    			<td><?php echo $donnees['annee_album']; ?></td>
    			<td>(<?php echo TotalImages($donnees['id_album']); ?>) Images</td>
    			<td><a href="./index.php?body=supp_album&type=supprimer&id_album=<?php echo $donnees['id_album'];?>">Supprimer</a></td>
    			<td>Editer</td>
    		</tr>
    		<?php } ?>
    	</table>
    </div>	
    	<?php } else { echo "<p>Aucun Album de créé.</p>"; } ?>
    
    0
    1. Pitet Messages postés 2845 Statut Membre 530
       
      Une erreur 404 indique que l'URL saisie dans le navigateur n'est pas correcte (ne correspond à aucune page du site).
      Corrige ton lien en enlevant le point et le slash au début de l'url :
      <a href="index.php?body=supp_album&type=supprimer&id_album=<?php echo $donnees['id_album'];?>">Supprimer</a>
      0
  3. papyclic Messages postés 451 Statut Membre 3
     
    Bonjour
    J'ai enlevé le point et le slash mais toujours je suis redirigé sur la page 404.php
    Voilà mon url ça affiche bien le bon id pourtant
    index.php?body=supp_album&type=supprimer&id_album=11
    

    Ce que je voudrais que ça me retourne les echo en fait. Y a t-il encore des erreurs sur ma fonction et à ma requète à votre avis.
    Merci pour votre aide.
    	if(isset($id_album)) {
    		
    		echo "<h1>Galerie Photos > Album > Supprimer >";
    		echo NomAlbum($id_album);
    		echo "</h1>";
    	
    	} else {
    		require_once("erreur_404.php");
    	}
    
    0
    1. hharchi9 Messages postés 693 Statut Membre 24
       
      Bonsoir,

      Le problème vient du fait que pour récupérer une variable située dans l'url, il faut utiliser $_GET. Ainsi pour faire le test sur l'id il faut utiliser :
      if(isset($_GET['id_album'])) {
      0
  4. papyclic Messages postés 451 Statut Membre 3
     
    Bonjour
    Vraiment génial, c'est vraiment formidable 2 jours passé avec ça.
    Un très grand merci
    Cordialement
    0