<?php
include '../../INCLUDE/MySQL_include_param_dbb.php';
include '../../INCLUDE/MySQL_include_sprog_commun_shell.php';
try {
 // === connexion de la base de données ===
 $bdd = new PDO($TYPE_DBB.":host=".$SERVEUR.";dbname=".$BASEDD,$LOGIN_ADM,$MDP_ADM,
        array(PDO::ATTR_PERSISTENT => true));
 // --- définition du codage en UTF8 ---      
 $bdd->exec("SET CHARACTER SET utf8");
 // --- exécution de la requête ---
 $reponse = $bdd->query('SELECT Prenom, Nom, Age FROM personnes');
 // --- traitement des erreurs de retour sur la requête ---
 if (!$reponse)
     throw new Exception('Problème de requête sur la table.');
 // ---retourne un tableau associatif ---
 $reponse->setFetchMode(PDO::FETCH_ASSOC); 
 // --- boucle de traitement de chaque personne --- 
 $tab_personnes=$reponse->fetchAll();
 // --- affichage des données retournées ---
 affichage_liste_personnes("Liste des personnes",$tab_personnes);
 // --- fermeture de la requête ---
 // --- pour permettre d'autres requêtes ---
 $reponse->closeCursor();
 // === Saisie du filtre ===
 echo PHP_EOL;
 echo "Entrez la valeur minimale de l'age à afficher (ex: 54) : ";
 $saisie=fgets(STDIN);
 $Age_Min=intval($saisie);
 // === Affichage filtré de la table personnes ===
 // --- exécution de la requête ---
 $reponse = $bdd->query('SELECT Prenom, Nom, Age FROM personnes WHERE Age>='.$Age_Min.' ORDER BY Age');
 // --- traitement des erreurs de retour sur la requête ---
 if (!$reponse)
     throw new Exception('Problème de requête sur la table.');
 // ---retourne un tableau associatif ---
 $reponse->setFetchMode(PDO::FETCH_ASSOC); 
 // --- boucle de traitement de chaque personne --- 
 $tab_personnes=$reponse->fetchAll();
 // --- affichage des données retournées ---
 affichage_liste_personnes("Personnes ayant un Age >= $Age_Min",$tab_personnes);
 // --- fermeture de la requête ---
 // --- pour permettre d'autres requêtes ---
 $reponse->closeCursor();
 // === fermeture de la connexion à la base de données ===
 $bdd = NULL;
}
catch(Exception $e) {
 echo 'Erreur : '.$e->getMessage();
}
?>

