Code source du fichier table-evol-reg.php

<?php
    // constantes numériques
    require ("constantes.php");

    // fonctions d'affichage de portions de pages HTML
    require ("acces_page.php");

    // génération du menu en colonne de gauche
    require ("genmenu.php");



    // récupérer la région sélectionnée
    $reg = $_GET ['reg'];

    // modèle de page html (dépend si région déjà sélectionnée ou non)
    if ($reg)
        $ficpage = DIR_PAGES."/table-evol-reg.html";
    else
        $ficpage = DIR_PAGES."/table-evol-select-reg.html";

    // ouvrir le fichier contenant la page à afficher
    $descfic = fopen ($ficpage, "r");

    // si l'ouverture s'est bien passée
    if ($descfic)
    {
        // recopier le début de l'entête html en remplaçant noindex par index
        copmaj ($descfic, "noindex,", "index,");

        // recopier le début du fichier html jusqu'au formulaire de sélection de région
        copie_jusque_option ($descfic);

        // liste des codes de régions
        $liste_codereg = array ("auv", "bou", "bre", "cen", "cor", "gra", "hau",
                                "ile", "nor", "nou", "occ", "pay", "pro");

        // liste des noms de régions
        $liste_nomreg = array ("Auvergne-Rhône-Alpes", "Bourgogne-Franche-Comté", "Bretagne",
                               "Centre-Val de Loire", "Corse", "Grand Est", "Hauts-de-France",
                               "Ile-de-France", "Normandie", "Nouvelle-Aquitaine", "Occitanie",
                               "Pays de la Loire", "Provence-Alpes-Côte d’Azur");

        // génération de la liste des régions
        for ($indice = 0; $indice < count ($liste_codereg); $indice++)
        {
            // récupérer un code de région
            $codereg = $liste_codereg [$indice];

            // générer l'option
            echo "              <option ";

            // si région précédemment choisie
            if ($reg == $codereg)
                // la sélectionner
                echo "selected ";

            // fin de la balise <option>
            echo 'value = "'.$codereg.'">'.$liste_nomreg [$indice]."</option>\n";
        }

        // si une région a été sélectionnée
        if ($reg)
        {
            // recopier le début du fichier html jusqu'à la zone contenu
            copie_jusque_chaine ($descfic, "contenu", 1);

            // construire le nom du fichier csv
            $ficcsv = DIR_CSV."/vacsi-reg-".$reg.".csv";

            // l'ouvrir en lecture
            $descscv = fopen ($ficcsv, "r");

            // si l'ouverture s'est bien passée
            if ($descscv)
            {
                // recopier le fichier html jusqu'au contenu de la table
                copie_jusque_chaine ($descfic, "XXXTABLE");

                // lire une ligne du fichier csv
                $ligne = trim (fgets ($descscv, LG_MAX_CSV));

                // tantque non fin de fichier
                while ($ligne)
                {
                    // séparer les nombres de vaccination des taux
                    $pos_point = strpos ($ligne, ".");
                    $deblig = substr ($ligne, 0, $pos_point);
                    $finlig = substr ($ligne, $pos_point);

                    // franciser les . décimaux
                    $finlig = str_replace (".", ",", $finlig);

                    // rajouter les pourcentages
                    $finlig = str_replace (";", " %;", $finlig)." %";

                    // mettre la ligne lue au format html
                    $ligne = str_replace (";", "</td><td>", $deblig.$finlig);

                    // générer la ligne dans la table
                    echo "          <tr align=\"center\">\n";
                    echo "              <td>".$ligne."</td>\n";
                    echo "          </tr>\n";

                    // passer à la ligne suivante du fichier csv
                    $ligne = trim (fgets ($descscv, LG_MAX_CSV));
                }

                // terminé avec ce fichier
                fclose ($descscv);
            }
            // sinon
            else
            {
                // message d'erreur
                echo '        <font color = "#FF0000">';
                echo "Fichier contenant les données inaccessible</font>\n";

                // sauter la table
                sauter_jusque_chaine ($descfic, "</table>");
            }
        }

        // copie la suite du fichier html jusqu'à la section du menu
        copie_jusque_chaine ($descfic, "XXXMENU");

        // générer le menu
        genmenu (basename ($_SERVER ['SCRIPT_NAME']));

        // copier la fin de la page html
        copie_jusque_fin ($descfic);

        // terminé avec le fichier html
        fclose ($descfic);
    }
    // sinon message d'erreur
    else
        echo "Page ".basename ($ficpage)." manquante";
?>