Liste des registres d’ExpoActes

Cette page permet de lister tous les registres présents dans ExpoActes.

Notre association a choisit de mettre tous les actes dans la table divers pour des raisons « historiques » ce qui simplifie un peu le travail. Sinon faut faire une boucle par table d’actes.

A adapter en fonction de votre environnement pour certaines fonctions comme OuvrirBase() qui ouvre la cnx mysql a la base de données et retourne un pointeur sur la base, FermerBase() qui ferme la connexion a la base de données

La fonction barre_navigation() est donnée en bas de page

<?php


$reg=(isset($_GET['reg']))?$_GET['reg']:"";

echo '<div class="frame2" style="margin-left:260px;vertical-align: top;">';

 $login=$_COOKIE['login'];
 $level=$_COOKIE['level'];
// ouvrir la base de données
$saga=OuvrirBase();

$where=($reg)?"where cote like '%".$reg."%' ":"";
$l_registre="select  cote,count(*) as nb from act_div3 ".$where." group by cote";
$result=mysqli_query($saga,$l_registre);
$nb_total=mysqli_num_rows($result);
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')  {
    $protocol = "https://";
   }else{
    $protocol = "http://"; 
   }  
 echo '<table width="90%" border="1" cellspacing="0" cellpadding="0" align="center" bgcolor="#cccccc">
              <tr><td bgcolor="#cccccc" align="center">Liste des <b>'.$nb_total.'</b> registres de Expactes 
              <form action="'.$protocol.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'].'" method=GET>
              <input type=hidden name=id value='.$id.'>             
              <input type=text name=reg size=10>
              <input type=submit value="Ok">
              </form>
              </td></tr>
              <td align=center><a href=carte_registre_bms.php>Carte de répartition des régistres</a>   </td>
              <tr></tr><tr><td bgcolor="#f0f0f0" align="center" valign="top">
              <table width="100%">
              <tr>
              <th style="text-align: center;width:50%;">Registre</th>
              <th style="text-align: center;width:50%;">Nb actes</th>
              </tr>';
if ($nb_total == 0) {
        echo 'Aucune réponse trouvée !! ';
       exit();
}
else {
 $debut=( isset($_GET['debut'])) ? $_GET['debut']: 0;
 $sdebut= (isset($_GET['sdebut'])) ? $_GET['sdebut'] : 0;


$nb_affichage_par_page = 100;

if ( $sdebut > 0 ) $debut=($sdebut-1)*$nb_affichage_par_page;
if ( $debut > ( $nb_total - $nb_affichage_par_page )) $debut=$nb_total - $nb_affichage_par_page;


$where=($reg)?"where cote like '%".$reg."%' ":"";
if ( $where ) $debut=0;
$r_registre="select  cote,count(*) as nb from act_div3 ".$where." group by cote limit ". $debut.",".$nb_affichage_par_page." ";
//echo $r_registre;
$r_result=mysqli_query($saga,$r_registre);


while($l=mysqli_fetch_array($r_result)){
  echo '<tr class="tr">';
  $r=$l['cote'];
  if ( $level == 9 )  
    echo "<td style=\"text-align: center;width:20%;\"><a href=liste_registre.php?registre='".urlencode($r)."'>".$l['cote']."</a></td>\n\r";
  else
    echo "<td style=\"text-align: center;width:20%;\">".$l['cote']."</td>\n\r";
  echo '<td style="text-align: center;width:15%;">'.$l['nb'].'</td>';

}
echo '<tr><td colspan="5" align="center">';
echo '<BR />';
echo barre_navigation($nb_total, $nb_affichage_par_page, $debut, 20);
echo "<br>N° page:<form action='http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."' method=GET>
<input type=hidden name=id value=".$id.">
<input type=texte name=sdebut size=2>
<input type=submit value='Ok'>
</form>";

echo '</td></tr>';
}
mysqli_free_result($result);
mysqli_free_result($r_result);
FermerBase($saga);
echo '</table></table>';
echo '</div>';



?>
function barre_navigation ($nb_total,$nb_affichage_par_page,$debut,$nb_liens_dans_la_barre) {

        $barre = '';

        // on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
        if ($_SERVER['QUERY_STRING'] == "") {
        $query = $_SERVER['PHP_SELF'].'?debut=';
        }
        else {
        $tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
        $nb_element = count ($tableau);
        if ($nb_element == 1) {
                $query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
        }
        else {
                if ($tableau[0] == "") {
                $query = $_SERVER['PHP_SELF'].'?debut=';
                }
                else {
                $query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
                }
        }
        }

        // on calcul le numéro de la page active
        $page_active = floor(($debut/$nb_affichage_par_page)+1);
        // on calcul le nombre de pages total que va prendre notre affichage
        $nb_pages_total = ceil($nb_total/$nb_affichage_par_page);
 // on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
        // exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
        if ($nb_liens_dans_la_barre%2==0) {
                $cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
                $cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
        }
        else {
                $cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
                $cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
        }

        if ($cpt_deb1 <= 1) {
                $cpt_deb = 1;
                $cpt_fin = $nb_liens_dans_la_barre;
        }
        elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
                $cpt_deb = $cpt_deb1;
                $cpt_fin = $cpt_fin1;
        }
        else {
                $cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
                $cpt_fin = $nb_pages_total;
        }

        if ($nb_pages_total <= $nb_liens_dans_la_barre) {
                $cpt_deb=1;
                $cpt_fin=$nb_pages_total;
        }

        // si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
        if ($cpt_deb != 1) {
                $cible = $query.(0);
                $lien = '<A HREF="'.$cible.'"><<</A>  ';
        }
        else {
                $lien='';
        }
        $barre .= $lien;

        // on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
        for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
        if ($cpt == $page_active) {
                if ($cpt == $nb_pages_total) {
                        $barre .= $cpt;
                }
                else {
                        $barre .= $cpt.' - ';
                }
        }
        else {
                if ($cpt == $cpt_fin) {
                        $barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
                        $barre .= "'>".$cpt."</A>";
                }
                else {
                       $barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
                        $barre .= "'>".$cpt."</A> - ";
                }
        }
        }

        $fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
        if (($nb_total % $nb_affichage_par_page) == 0) {
                $fin = $fin - $nb_affichage_par_page;
        }

        // si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
        if ($cpt_fin != $nb_pages_total) {
                $cible = $query.$fin;
                $lien = '  <A HREF="'.$cible.'">>></A>';
        }
        else {
                $lien='';
        }
        $barre .= $lien;


        return $barre;
}