Bonjour à tous.

J'ai suivi le tutoriel du calandier interactif et dans un premier temps je remercie Grafikart car cela correspondait vraiment à mon besoin et les explications sont vraiment très bien données.

Ayant fini le tutoriel je souhaite maintenant l'améliorer afin de pouvoir cliquer sur un événement afin de pouvoir s'inscrire à celui-ci.

Le problème est que, quelque soit l'élément sur lequel je clique je récupère toujours les informations de l'évènement qui se déroulera le plus tard que j'ai rajouté à ma table alors que le but est que je récupère les informations de l'événement sur lequel j'ai cliqué.
Alors que j'ai réussi à afficher avec ma requête l'heure qui correspond a l'évènement.

J'ai essayé de faire transiter les informations avec des variables de session.

Donc je pense que le problème vient de mes requêtes.

Voici le morceau de code sur ma page "planning"

<ul class="events">
     <?php if(isset($events[$time])): foreach($events[$time] as $e): ?>

          <?php   $recup = $bdd->query("SELECT * FROM formation WHERE nom_formation = '$e' "); 
          $horaire = $recup->fetch();
          $sil = array ($horaire);
          $_SESSION['gogo'] = $sil ; ?>    

      <li><a href="evenement.php" class="lien">Formation : <?php echo $e; ?> -- Horaire : <?php echo $horaire['horaire']; ?></a></li>

     <?php endforeach; endif; ?>
</ul>

et sur la page evenement j'ai fait un print_r et il me retourne :

" Array ( [0] => Array ( [id] => 5 [0] => 5 [nom_formation] => sport [1] => sport [lieu] => maison [2] => maison [jour] => 2015-02-28 [3] => 2015-02-28 [horaire] => 12 h20 [4] => 12 h20 [duree] => 30min [5] => 30min [descriptif] => abdo pompe [6] => abdo pompe [nbr_participant] => 3 [7] => 3 [nom_formateur] => severine [8] => severine ) ) "

Merci pour l'aide que vous allez m'apporter. :) :) :)

8 réponses


Carouge10
Réponse acceptée

Alors c'est tout simple.
Votre $_SESSION récupére toujours le dernier évènement puisque chaque passage dans la boucle, lui fait écraser le précédent.

Pour afficher l'évènement voulut, il faut passer un paramètre à la page évènement, en l'occurence ici, le nom de la formation
Donc le lien de la boucle sera ainsi:

<li><a href="evenement.php?formation=<?= $e; ?>" class="lien">Formation : <?php echo $e; ?> -- Horaire : <?php echo $horaire['horaire']; ?></a></li>

Puis dans la page évènement, il vous faudra récupérer le nom de la formation par $_GET['formation']
Enfin il vous suffira de faire une requête avec cette condition, et vous aurez ainsi le bon évènement.

Bonsoir,

Si je comprends bien, vous souhaitez afficher des informations concernant votre évènement en cliquant sur celui-ci ?

Sanruto7
Auteur

Oui c'est bien sa.
En gros lorsque je clique sur un évènement cela m'affiche toujours la page evenement.php mais que les informations ( nom de la formation / heure / formateur / etc ... ) qui sont dans ma base de donné change selon l'évènement sur lequel j'ai cliqué.

Sanruto7
Auteur

Merci beaucoup Carouge10 cela répond a ma question de départ mais avec votre réponse je me pose une autre question ^^.

En modifiant un peu votre réponse ( j'ai remplacé "formation" par "id"), car dans l'optique ou il y a deux formations avec le même nom il sera plus simple de récupérer les informations avec l'id, pourquoi en fesant un $_get['id']; je ne récupère par l'id mais encore le nom de la formation ?

Sanruto7
Auteur

J'ai trouvé comment récupérer l'id avec votre méthode j'ai modifié égallement $e par $horaire['id'] et tout fonctionne.
J'ai posé ma question trop, j'aurais du vraiment chercher en réfléchissant et non pas en modifiant quelques truc ^^.

En tout cas je vous remercie !!!

Oui c'est mieux. J'allais soumettre l'id.
Il faut passer les bons paramètres pour récupérer les bons paramètres.

Ex concret (J'essaye de ne pas donner de réponse toute faite pour que vous compreniez l'erreur)
Si je vous passe une thermos de café. Vous, vous n'aimez pas son nom et vous choisissez de l'appeller thermos de chocolat.
Pourtant la thermos contient toujours du café....
J'espère avoir été clair. (^_^)

Sanruto7
Auteur

Oui très claire et en une soirée j'ai pu avancer sur mon projet alors que je suis bloqué depuis quelques jours.
Encore merci beaucoup :=)

Je vous en prie.