5633969d98
Carte Leaflet (annuaire Éducation nationale) + API PHP/MySQL : fiche établissement (effectifs, IPS, population INSEE, DPE ADEME), GED documents/photos, commentaires par groupe, gestion utilisateurs et politique de mots de passe. Imports opendata (effectifs, IPS, population, DPE, IRIS). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
904 B
PHP
37 lines
904 B
PHP
<?php
|
|
/**
|
|
* Autocomplétion des communes (pour affecter un périmètre à un admin).
|
|
* GET ?q=... → jusqu'à 30 couples commune + département distincts.
|
|
*/
|
|
declare(strict_types=1);
|
|
require __DIR__ . '/db.php';
|
|
|
|
try {
|
|
require_super();
|
|
$q = trim((string) ($_GET['q'] ?? ''));
|
|
if (strlen($q) < 2) {
|
|
json_out([]);
|
|
}
|
|
$st = db()->prepare(
|
|
'SELECT com, depc, dep, COUNT(*) AS nb
|
|
FROM etablissements
|
|
WHERE com LIKE ?
|
|
GROUP BY com, depc, dep
|
|
ORDER BY com
|
|
LIMIT 30'
|
|
);
|
|
$st->execute([$q . '%']);
|
|
$out = [];
|
|
foreach ($st as $r) {
|
|
$out[] = [
|
|
'com' => $r['com'],
|
|
'depc' => $r['depc'],
|
|
'dep' => $r['dep'],
|
|
'nb' => (int) $r['nb'],
|
|
];
|
|
}
|
|
json_out($out);
|
|
} catch (Throwable $e) {
|
|
json_error('Erreur : ' . $e->getMessage(), 500);
|
|
}
|