diff --git a/index.php b/index.php index 95d366a571b949e2ea890e8c30fe5d57ba3ffa68..391a10dbd72b41ce0385276f29a4effd4d144765 100644 --- a/index.php +++ b/index.php @@ -16,16 +16,20 @@ include 'include/php/functions.php'; Concevoir des visualisations de données pour le web et un support animé. </p> <p> - Voici quelques exemples d'utilisation de la base de données, dont un avec une graphique avec Google Charts <a href="test-charts.html">ici</a>. + Voici quelques exemples d'utilisation de la base de données. </p> + <p> + Aussi, vous trouverez <a href="test-charts.html">un exemple</a> qui utilise Google Charts, et <a href="search.php">un autre exemple</a> avec une barre de recherche. + </p> + <section> <h2>Les BUT avec le plus grand nombre de candidats</h2> <ol> <?php $dbh = db_connection(); $sth = $dbh->prepare('SELECT lib_comp_voe_ins, voe_tot FROM parcoursup - WHERE fili = "BUT" - ORDER BY voe_tot DESC LIMIT 5'); + WHERE fili = "BUT" + ORDER BY voe_tot DESC LIMIT 5'); $sth->execute(); $result = $sth->fetchAll(); foreach ($result as $row) { @@ -35,9 +39,9 @@ foreach ($result as $row) { </ol> </section> -<section> - <h2>Les villes avec le plus de BTS</h2> - <ol> + <section> + <h2>Les villes avec le plus de BTS</h2> + <ol> <?php $sth = $dbh->prepare('SELECT ville_etab, count(*) AS count FROM parcoursup WHERE fili = "BTS" @@ -49,16 +53,16 @@ foreach ($result as $row) { echo '<li>' . $row['ville_etab'] . ' (<em>' . $row['count'] . ' BTS</em>)</li>'; } ?> - </ol> -</section> + </ol> + </section> <section> <h2>Les BUT Informatique avec le plus grand nombre de candidates admises</h2> <ol> <?php $sth = $dbh->prepare('SELECT lib_comp_voe_ins, acc_tot_f FROM parcoursup - WHERE lib_for_voe_ins LIKE "BUT - Informatique%" - ORDER BY acc_tot_f DESC LIMIT 5'); + WHERE lib_for_voe_ins LIKE "BUT - Informatique%" + ORDER BY acc_tot_f DESC LIMIT 5'); $sth->execute(); $result = $sth->fetchAll(); foreach ($result as $row) { diff --git a/search.php b/search.php new file mode 100644 index 0000000000000000000000000000000000000000..c589de0c87872030e7d73bed4545fa88f01c4183 --- /dev/null +++ b/search.php @@ -0,0 +1,66 @@ +<?php +/** + * Barre de recherche de formations avec affichage d'informations + * + * L'utilisateur choisir dans le formulaire une formation. + * Le formulaire envoie cette information vers la même page, et on + * affiche le nombre de places et le nombre de candidats. + */ +include 'include/php/functions.php'; +?> +<!DOCTYPE html> +<html lang="fr"> +<head> + <meta charset="utf-8"> + <title>SAÉ 303</title> +</head> +<body> + <h1>SAÉ 303</h1> + + <form method="get" action="search.php"> + <label> + Choisis une formation : + <input list="formations" name="formation" style="width: 400px"> + </label> + <datalist id="formations"> +<?php +/* On remplit l'élément datalist (les suggestions pour le formulaire) + * avec les noms des formations + */ +$dbh = db_connection(); +$sth = $dbh->prepare('SELECT lib_comp_voe_ins FROM parcoursup + ORDER BY lib_comp_voe_ins ASC'); +$sth->execute(); +$result = $sth->fetchAll(); +foreach ($result as $row) { + echo '<option value="' . $row['lib_comp_voe_ins'] . '">'; +} +?> + </datalist> + <input type="submit" value="Confirmer"> + </form> + +<?php +/* Si $_GET['formation'] est défini, ça veut dire qu'on est arrivé dans cette page + * après avoir sélectionné une formation. Dans ce cas, on affiches les information + * de cette formation + */ +if (isset($_GET['formation'])) { + $sth = $dbh->prepare('SELECT capa_fin, voe_tot FROM parcoursup + WHERE lib_comp_voe_ins = :formation'); + $donnees = [ + "formation" => $_GET['formation'] + ]; + $sth->execute($donnees); + $result = $sth->fetchAll(); + if (count($result) == 1) { + // Si on obtient un résultat, afficher les informations + echo "<h2>" . $_GET['formation'] . "</h2>"; + echo "<p>" . $result[0]['voe_tot'] . " candidats pour " . $result[0]['capa_fin'] . " places</p>"; + } +} else { + echo "<p>Veuillez choisir une formation</p>"; +} +?> +</body> +</html> \ No newline at end of file