Bonjour à tous,

J'ai beau retourner ma requête dans tous les sens ainsi que les condtions mais je bloque.

Je dois afficher si l'utilisateur a rentré moins de 51 km et le pole maintenance que le camion et la clio2 ... ceci fonctionne
Par contre si l'utilisateur a rentré moins de 51 km et que la clio 2 n'est pas disponible, j'aimerai afficher tous les vehicules où mv.pole=aucun et c'est ceci que je n'arrive pas :-(

Voici ma requête de base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$frankduncombeAffichage = $wpdb->prepare("
SELECT *
FROM labeo_vehicules lv
INNER JOIN modele_vehicules mv ON lv.id_modele = mv.id_modele
INNER JOIN sites_vehicules sv ON lv.id_site = sv.id_site
WHERE lv.id_voiture NOT IN (
    SELECT id_voiture
    FROM reservations_vehicules rv
    INNER JOIN sites_vehicules sv_rv ON rv.id_site = sv_rv.id_site
    AND (
        (rv.dateheure_depart BETWEEN %s AND %s)
        OR (rv.dateheure_retour BETWEEN %s AND %s)
        OR (%s BETWEEN rv.dateheure_depart AND rv.dateheure_retour)
    )
)AND sv.nom = 'Franck Duncombe'", $dated, $datef, $dated, $datef, $dated);
j'ai essayé pleins de conditions :

1/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
// Vérifier la disponibilité de la Clio 2
$isClio2Available = false; // Initialisez comme indisponible par défaut
 
if ($pole === 'maintenance' && $estimationKm < 51) {
    // Si le client est dans la catégorie "maintenance" et a moins de 51 km, mettez isClio2Available à true s'il est disponible.
    $isClio2Available = true;
}
 
if ($isClio2Available) {
    // Si la Clio 2 est disponible, ajoutez une condition pour l'afficher.
    $frankduncombeAffichage .= " AND (mv.modele = 'Clio 2')";
}
2/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
//contrainte kilometrique et pole LFD
//ne m'affiche pas les autres vehicules dispo si moins de 51 km
 
// if ($pole === 'maintenance') {
//     if ($estimationKm < 51) {
//         $frankduncombeAffichage .= " AND (mv.modele = 'Clio 2' OR mv.modele = 'camion maintenance')";
//     } else {
//         $frankduncombeAffichage.= " AND (mv.pole = 'maintenance' OR mv.pole = 'aucun')";
//     }
// } elseif ($pole === 'siege') {
//     if ($estimationKm < 51) {
//         $frankduncombeAffichage .= " AND (mv.modele = 'Clio 2' OR mv.pole = 'siege')";
//     } else {
//         $frankduncombeAffichage.= " AND (mv.pole = 'siege' OR mv.pole = 'aucun')";
//     }
// } elseif ($pole  === 'autre') {
//     if ($estimationKm < 51) {
//         $frankduncombeAffichage.= " AND( mv.modele = 'Clio 2')";
//     } else {
//         $frankduncombeAffichage.= " AND  (mv.pole = 'aucun')";
//     }
// }
// if ($estimationKm > 200) {
//     $frankduncombeAffichage .= " AND mv.modele != 'e-208'";
// }
Je ne les ai pas toute gardé car je commençais a avoir plus de 200 lignes en vert dans mon fichier 😁

Mon affichage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
 if (!empty($resultsf)) {
 
                                foreach ($resultsf as $row) {
 
                                    ?>
 
                                    <div class="col-sm-3 col-md-6 mt-3">
 
                                        <div class="card">   
                                            <div class="card-body">
                                                <p style="font-size:25px;text-align: center;text-transform: uppercase;color:#77C5B8;"><?=$row->nom?> </p>
                                                <p><img src="<?=$row->logo?>"> </p>
                                                <p>modèle :<?= $row->modele ?> </p>
                                                <p>plaque:<?=$row->plaque?> </p>
 
 
                                                <form action="" method="POST">
 
                                                    <input type="submit" name="reserveButton" value="Réserver">
                                                    <input type="hidden" name="Id_client" value="<?php echo $id_client; ?>">
                                                    <input type="hidden" name="Id_site" value="<?=$row->id_site?>">
                                                    <input type="hidden" name="Id_voiture" value="<?=$row->id_voiture?>">
                                                    <!-- <span>passagers : <?php echo $nombrePassagers ?></span>
                                                <span>pole : <?php echo $pole ?></span> 
                                                    <span>kilometres: <?php echo $estimationKm ?></span>  -->
                                                    <input type="hidden" name="start_hour" value="<?php echo $datef ?>">
                                                    <input type="hidden" name="end_hour" value="<?php echo $dated ?>">
                                                    <input type="hidden" name="destination" value="<?php echo $destination?>">
                                                    <input type="hidden" name="motif" value="<?php echo $motif?>">
                                                    <input type="hidden" name="estimation" value="<?php echo $estimationKm?>">
 
                                                </form>
                                            </div>
                                        </div>
                                    </div>
                                        <?php
                                }
 
                                }
 
 
                                else{
                                    echo"  Aucune véhicule disponible, proposition de vehicules pour covoiturage";
                                    var_dump($pole);
                                ?>