Album photo 2

Résolu
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. Bonjour
    Vraiment génial, c'est vraiment formidable 2 jours passé avec ça.
    Un très grand merci
    Cordialement
    0
    1. 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. 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
    2. 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. 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. 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