Ma requête signifie que :
Si dans ma table "admin_bat" la colonne "validation_bat" comporte une entrée égal à 1 alors afficher "nom_bat". Sinon s'il n'y a aucune valeur égale à 1 alors afficher "nom_bat" lorsque sa valeur "numero_bat" est le plus grand.
Code : Tout sélectionner
$sql_vignettes_bat = $bdd->prepare("
SELECT nom_bat
FROM admin_bat
WHERE numero_commande = :numero_commande
AND validation_bat = :validation_bat
");
$sql_vignettes_bat->execute(array(
'numero_commande' => $livraison['a_numero_commande'],
'validation_bat' => 1
));
$vignettes_bat = $sql_vignettes_bat->fetch(PDO::FETCH_ASSOC);
if (!empty($vignettes_bat['nom_bat'])) {
$vignettes_bat = $vignettes_bat['nom_bat'];
}
else {
$sql_vignettes_bat_max = $bdd->prepare("
SELECT MAX(numero_bat) AS numero_bat_max, nom_bat
FROM admin_bat
WHERE numero_commande = :numero_commande
");
$sql_vignettes_bat_max->execute(array(
'numero_commande' => $livraison['a_numero_commande']
));
$vignettes_bat_max = $sql_vignettes_bat_max->fetch(PDO::FETCH_ASSOC);
$vignettes_bat = $vignettes_bat_max['nom_bat'];
}
echo $vignettes_bat;