/** * getSpecialiteList - Retourne la liste des spécialités enregistrés * * @category stageFunction * @param string $order Paramètre selon lequel sont classés les résultats ('id', 'nom' ou 'nb') * @param boolean $desc Ordre selon lequel on classe les résultats (TRUE : decroissant, FALSE : croissant) * @return array Array contenant la liste des certificats enregistrés * * @Author Ali Bellamine * * Contenu de l'array retourné :<br> * [id de la spécialité][] => (array) Array contenant les données relatives à la spécialité, voir {@link getSpecialiteInfo()} * */ function getSpecialiteList($order = 'nom', $desc = false) { global $db; $allowedOrder = array('id', 'nom', 'nb'); if (in_array($order, $allowedOrder)) { $orderSql = $order; } else { $orderSql = 'nom'; } $sql = 'SELECT sp.id id, sp.nom nom, (SELECT count(*) FROM service WHERE specialite = sp.id LIMIT 1) nb FROM specialite sp ORDER BY ' . $orderSql . ' '; if ($desc) { $sql .= ' DESC'; } $res = $db->query($sql); $specialite = array(); while ($res_f = $res->fetch()) { $specialite[$res_f['id']] = getSpecialiteInfo($res_f['id']); } return $specialite; }
if (isset($_GET['order'])) { $order = $_GET['order']; } else { $order = 'nom'; } if (isset($_GET['desc'])) { $desc = true; } else { $desc = false; } $listeSpecialite = getSpecialiteList($order, $desc); } else { if ($action == 'view' || $action == 'delete' || $action == 'edit') { // On récupère les données sur la spécialité if (count(checkSpecialite($_GET['id'], array())) == 0) { $specialiteData = getSpecialiteInfo($_GET['id']); } else { header('Location: ' . ROOT . CURRENT_FILE . '?page=' . $_GET['page']); } } } /** 2. Traitement des formulaires **/ if (isset($_POST) && count($_POST)) { /* Préparation des données : on crée un array contenant toutes les données, ce dernier sera ensuite parcouru pour créer la requête SQL qui sera préparée */ if ($action == 'edit' || $action == 'delete') { $sqlData['id'] = $specialiteData['id']; // Id de l'utilisateur