Bonjour à tous,

J'ai mis en place un tableau qui se remplit avec ma base de données. Il y a aussi 2 boutons, un de simple redirection et un qui permet l'affichage d'un spoiler. Voila mon soucis : Il ne s'ouvre uniquement aprés la première ligne alors que je voudrais qu'il s'ouvre aprés chaque ligne lors du clique.

Voici mon code :

<table class="tabletournee">
            <caption>Dates et lieux de la tournée 2017</caption>
                <?php
                    try
                    {
                        $bdd = new PDO('mysql:host=localhost;dbname=medrano2017;charset=utf8', 'root', '');
                        $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    }
                    catch(Exception $e)
                    {
                        die('Erreur : '.$e->getMessage());
                    }

                    $reponse = $bdd->query('SELECT id_event,
                      id_tournee,
                      evenement.ville_event       AS ville,
                      evenement.lien_resa_event   AS lienresa,
                      evenement.adresse_event     AS adresse,
                      tournee.description_tournee AS descriptiontournee,
                      tournee.nom_tournee         AS nomtournee,
                      (SELECT MIN(s.dateheure_seance) FROM seance s WHERE s.id_event = evenement.id_event) AS premiereSeance,
                      (SELECT MAX(s.dateheure_seance) FROM seance s WHERE s.id_event = evenement.id_event) AS derniereSeance
                    FROM tournee
                    JOIN evenement USING(id_tournee)
                    ORDER BY premiereSeance,derniereSeance');

                    $datecourante = date('Y-m-d H:i:s');

                    while ($donnees = $reponse->fetch())
                    {

                    setlocale(LC_ALL, 'French', 'fr-FR.utf8','fra', 'fr-FR', 'fr_FR', 'fr', 'fr_FR@euro');
                    $datedebut = strftime("%d %B", strtotime($donnees['premiereSeance']));
                    $datefin = strftime("%d %B %Y", strtotime($donnees['derniereSeance']));

                    if( $donnees['derniereSeance'] >= $datecourante )
                    {
                ?>
                    <tr>
                        <td><p class="villetournee"><?php echo ''.$donnees['ville'].'';?></p> <p class="nomtournee"><?php echo ''.$donnees['nomtournee'].'';?></p></td>
                        <td> Du <?php echo ''.utf8_encode($datedebut).'';?><br>au <?php echo ''.utf8_encode($datefin).'';?></td>
                        <td><?php echo ''.$donnees['adresse'].'';?></td>
                        <td><a href="#spoiler1" class="spoiler-link lienresa">PLUS D'INFOS</a><a class="lienresa" href="#">RESERVER</a></td>
                    </tr>
                    <tr>
                        <td colspan="4">
                            <div class="spoilers">
                                <div class="spoiler" id="spoiler1">
                                    <p>Fournis un contrôle permanent dans des domaines à haut risque pathogènes d'origine hydrique qui peuvent s'accumuler à l'intérieur du système de plomberie, même si l'eau est désinfectée. Les filtres à eau médicale conservent les bactéries et les champignons et fournis de l'eau propre et sûre pour les patients, le personnel médical, et tous ceux qui travaillent dans un environnement où la santé est une préoccupation.</p>
                                </div>
                            </div>
                        </td>
                    </tr>

                <?php
                    }
                    }
                        $reponse->closeCursor();
                ?>
        </table>

Et voici mon résultat a chaque fois que je clique :

<a href="http://www.hostingpics.net/viewer.php?id=754669Sanstitre.png"><img src="http://img4.hostingpics.net/thumbs/mini_754669Sanstitre.png" alt="Heberger image" /></a>

Sur n'importe quel bouton "PLUS D'INFOS" c'est uniquement ce "tr" qui s'ouvre et je trouve pas pourquoi :/

Merci d'avance à tous !

2 réponses


G1.3
Réponse acceptée

Salut

Dans ton code, c'est toujours spoiler1 qui est précisé. Essaie de le changer en incrémentant une variable ou en mettant l'id de ton entrée en BDD, par exemple

<td><a href="#spoiler<?php echo $donnees['id_event']; ?>" class="spoiler-link lienresa">PLUS D'INFOS</a><a class="lienresa" href="#">RESERVER</a></td>

et idem plus bas

<div class="spoiler" id="spoiler<?php echo $donnees['id_event']; ?>">

En espérant que ça convienne ;)

Ahhhhh bin oui tout simplement, je n'y avais absoument pas pensé.
Merci !