Bonjour à tous,
Sur la dernière ligne droite de mon projet, je rencontre un ultime soucis depuis un moment maintenant.
Voici ma page :
Je récupère toutes ces infos depuis ma base de données. En violet, le spoiler qui s'affiche lorsque l'utilisateur clique sur "plus d'infos". Ces informations varient d'une ville à une autre.
Mon problème se situe ici : Je souhaite afficher toutes les dates précisément et leurs séances dans ce style la : Le 07 Juillet à 14h30, 17h00 et 20h30 pour cet exemple.
Sachant que dans ma base de données les événements et les séances sont dans 2 tables différentes reliées par id_event.
Ces séances sont au format datetime dans la base de données.
J'ai déjà fait des formatage dans cette page (Pour afficher les dates de début et de fin), voici mon code actuel :
J'ai essayé de rajouter cette ligne dans ma requête :
Mais ça me produit cette erreur :
(La ligne 78 correspond à la fin de ma requête)
Si vous avez la moindre idée, je suis vraiment preneur parce que je me casse la tête depuis un moment sans succès....
Merci d'avance !
Sur la dernière ligne droite de mon projet, je rencontre un ultime soucis depuis un moment maintenant.
Voici ma page :
Je récupère toutes ces infos depuis ma base de données. En violet, le spoiler qui s'affiche lorsque l'utilisateur clique sur "plus d'infos". Ces informations varient d'une ville à une autre.
Mon problème se situe ici : Je souhaite afficher toutes les dates précisément et leurs séances dans ce style la : Le 07 Juillet à 14h30, 17h00 et 20h30 pour cet exemple.
Sachant que dans ma base de données les événements et les séances sont dans 2 tables différentes reliées par id_event.
Ces séances sont au format datetime dans la base de données.
J'ai déjà fait des formatage dans cette page (Pour afficher les dates de début et de fin), voici mon code actuel :
<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');
$compteur =0;
$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 class="infotournee infotournee<?php echo ($compteur%2); $compteur++; ?>">
<td id="event<?php echo $donnees['id_event']; ?>"><p style="color:white;" class="villetournee"><?php echo ''.$donnees['ville'].'';?></p> <p class="nomtournee"><?php echo ''.$donnees['nomtournee'].'';?></p></td>
<td><?php echo (strpos($datedebut,' '.$datefin))? 'Le '.utf8_encode($datedebut) : 'Du '.utf8_encode($datedebut).'<br/>au '.utf8_encode($datefin); ?></td>
<td><?php echo ''.$donnees['adresse'].'';?></td>
<td><a href="#spoiler<?php echo $donnees['id_event']; ?>" 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="spoiler<?php echo $donnees['id_event']; ?>">
<p><?php echo ''.utf8_encode($datedebut).'';?></p>
</div>
</div>
</td>
</tr>
<?php
}
}
$reponse->closeCursor();
?>
</table>
J'ai essayé de rajouter cette ligne dans ma requête :
(SELECT dateheure_seance FROM seance s WHERE s.id_event = evenement.id_event) AS Seances,
Mais ça me produit cette erreur :
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[21000]: Cardinality violation: 1242 Subquery returns more than 1 row' in C:\wamp\www\Medrano2017\index.php on line 78
(La ligne 78 correspond à la fin de ma requête)
Si vous avez la moindre idée, je suis vraiment preneur parce que je me casse la tête depuis un moment sans succès....
Merci d'avance !