Probleme affichage sur une requete

Fermé
mtahr959 - 31 mars 2022 à 14:20
yg_be Messages postés 22778 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 11 mai 2024 - 31 mars 2022 à 14:49
Bonjour,


Bonjour,

Je travaille sur un site de réservation de cours de tennis en ligne.
Je dois afficher une liste avec les joueurs qui n'ont pas réservation future.

Voici ma requête :
SELECT * FROM customers
LEFT JOIN customer_appointments ON customers-id = customer_appointments.customer_id
LEFT JOIN appointments ON customer_appointments-appointment_id = appointments-id


Cette requête prend tous les joueurs (customers)
les rdv (appointments)
et les rdv attitrés aux joueurs (customer_appointments)

while($resultpadel=mysqli_fetch_assoc($respadel)) {
$idadherentpadel = $resultpadel['id'];
$fullnamepadel = $resultpadel['full_name'];
$rdv = $resultpadel['end_date'];
$datesj7 = date('Y-m-d h:i:s');
if ( $rdv >=$datesj7 ) {
echo $fullnamepadel;
echo ' rdv futur :';
echo $rdv;
echo '<br>';
} elseif ( $rdv=='') {
echo $fullnamepadel;
echo " sans rdv : ";
echo $rdv;
echo '<br>';
} elseif ( $rdv <=$datesj7) {
echo $fullnamepadel;
echo " rdv passé : ";
echo $rdv;
echo '<br>';
}
$i++;
}

Ce qui affiche bien la liste de TOUS les joueurs avec leurs rdvs : (qqs lignes ci-dessous)
AKAMBI Ange loic rdv passé : 2022-03-16 22:00:00
AKAMBI Ange loic rdv passé : 2022-03-18 13:00:00
AKAMBI Ange loic rdv passé : 2022-03-19 14:00:00
AKAMBI Ange loic rdv passé : 2022-03-27 11:00:00
AKAMBI Ange loic rdv futur :2022-03-30 21:00:00
AKAMBI Ange loic rdv futur :2022-04-02 11:00:00
AKAMBI Ange loic rdv futur :2022-04-03 11:00:00
Albano FERNANDES rdv passé : 2022-02-27 18:00:00
Albano FERNANDES rdv passé : 2022-03-04 20:00:00
Albano FERNANDES rdv passé : 2022-03-01 22:00:00
Albano FERNANDES rdv futur :2022-04-01 23:00:00
ALBERT Alexi rdv passé : 2022-02-06 15:00:00
Alcidio TEIXEIRA rdv passé : 2022-01-11 21:00:00
Alcidio TEIXEIRA rdv passé : 2022-02-22 21:00:00
Alcidio TEIXEIRA rdv passé : 2022-03-08 21:00:00
Alcidio TEIXEIRA rdv passé : 2022-03-15 21:00:00
Alcidio TEIXEIRA rdv passé : 2022-03-24 21:00:00
ALEPEE Damien rdv passé : 2021-12-13 22:00:00
ALEPEE Damien rdv passé : 2022-03-22 15:00:00

Mais je veux retirer ceux qui ont des rdvs passés et aussi un rdv dans le futur.
Par exemple Albano FERNANDES ni AKAMBI ne devraientt pas etre affichés, mais ALEPEE Damien et Alcidio Teixeira doivent rester.

Je n'y arrive pas. Peut-être un truc à rajouter dans la requete... peut-être une solution en php. je ne vois vraiment pas.
Aidez-moi svp

2 réponses

yg_be Messages postés 22778 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 11 mai 2024 1 481
Modifié le 31 mars 2022 à 14:28
bonjour,
Peux-tu utiliser les balises de code quand tu postes du code?
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Pardon, je n'avais pas vu les balises.


Bonjour,

Je travaille sur un site de réservation de cours de tennis en ligne.
Je dois afficher une liste avec les joueurs qui n'ont pas réservation future.

Voici ma requête :
SELECT * FROM customers
LEFT JOIN customer_appointments ON customers-id = customer_appointments.customer_id
LEFT JOIN appointments ON customer_appointments-appointment_id = appointments-id



Cette requête prend tous les joueurs (customers)
les rdv (appointments)
et les rdv attitrés aux joueurs (customer_appointments)

while($resultpadel=mysqli_fetch_assoc($respadel)) {
$idadherentpadel = $resultpadel['id'];
$fullnamepadel = $resultpadel['full_name'];
$rdv = $resultpadel['end_date'];
$datesj7 = date('Y-m-d h:i:s');
if ( $rdv >=$datesj7 ) {
echo $fullnamepadel;
echo ' rdv futur :';
echo $rdv;
echo '<br>';
} elseif ( $rdv=='') {
echo $fullnamepadel;
echo " sans rdv : ";
echo $rdv;
echo '<br>';
} elseif ( $rdv <=$datesj7) {
echo $fullnamepadel;
echo " rdv passé : ";
echo $rdv;
echo '<br>';
}
$i++;
}


Ce qui affiche bien la liste de TOUS les joueurs avec leurs rdvs : (qqs lignes ci-dessous)
AKAMBI Ange loic rdv passé : 2022-03-16 22:00:00
AKAMBI Ange loic rdv passé : 2022-03-18 13:00:00
AKAMBI Ange loic rdv passé : 2022-03-19 14:00:00
AKAMBI Ange loic rdv passé : 2022-03-27 11:00:00
AKAMBI Ange loic rdv futur :2022-03-30 21:00:00
AKAMBI Ange loic rdv futur :2022-04-02 11:00:00
AKAMBI Ange loic rdv futur :2022-04-03 11:00:00
Albano FERNANDES rdv passé : 2022-02-27 18:00:00
Albano FERNANDES rdv passé : 2022-03-04 20:00:00
Albano FERNANDES rdv passé : 2022-03-01 22:00:00
Albano FERNANDES rdv futur :2022-04-01 23:00:00
ALBERT Alexi rdv passé : 2022-02-06 15:00:00
Alcidio TEIXEIRA rdv passé : 2022-01-11 21:00:00
Alcidio TEIXEIRA rdv passé : 2022-02-22 21:00:00
Alcidio TEIXEIRA rdv passé : 2022-03-08 21:00:00
Alcidio TEIXEIRA rdv passé : 2022-03-15 21:00:00
Alcidio TEIXEIRA rdv passé : 2022-03-24 21:00:00
ALEPEE Damien rdv passé : 2021-12-13 22:00:00
ALEPEE Damien rdv passé : 2022-03-22 15:00:00

Mais je veux retirer ceux qui ont des rdvs passés et aussi un rdv dans le futur.
Par exemple Albano FERNANDES ni AKAMBI ne devraientt pas etre affichés, mais ALEPEE Damien et Alcidio Teixeira doivent rester.

Je n'y arrive pas. Peut-être un truc à rajouter dans la requete... peut-être une solution en php. je ne vois vraiment pas.
Aidez-moi svp
0
yg_be Messages postés 22778 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 11 mai 2024 1 481
31 mars 2022 à 14:49
Cela dépend un peu de ce que tu veux apprendre: veux-tu progresser en SQL ou en PHP?
La solution la plus performante, c'est de faire cela avec le SQL, et, ensuite, adapter ton code PHP.
As-tu déjà étudié et fait des exercices avec la clause WHERE?
0