Requête SQL et conditions
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:
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:
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:
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:
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);
?> |