<?php require_once('connect_mysql.php');
require_once('cod_para.php');
$pg = (isset($_GET['pg'])&& is_numeric($pg))? $_GET['pg'] : 1;
//connexion mysql
mysql_select_db($database, $dbconnect);
//c'est le nb d'enregistrements à afficher par page:
$enreg_par_pg = 25;
//fonction qui affiche les liens vers les autres pages, ainsi que les liens page suivante et page precedente:
function pgs($enreg_par_pg, $pg, $dbconnect)
{
//c'est la requete qui doit permettre le nombre de résultats total qui va etre reparti sur plusieurs pages
if(isset($_POST["bouton"])&& $_POST["bouton"]=="TRIER")
{
$sdate = $_POST['sdate']." 00:00:00";
$edate = $_POST['edate']." 00:00:00";
$requete = sprintf("SELECT * FROM shalmlis ");
$where = "";
$and = "";
if(isset($_POST["sev"])&& is_numeric($_POST["sev"])) {
$where = sprintf(" WHERE SEV=".$_POST['sev']);
$and = " and ";
}
if(isset($_POST["nbt"])&& is_numeric($_POST["nbt"])) {
$where .= sprintf( $and." NBT=".$_POST['nbt']);
$and = " and ";
}
if(isset($_POST["sdate"])&&isset($_POST["edate"])&& $_POST["sdate"]!="date start" && $_POST["edate"]!="date end")
$where .= sprintf($and." AND TIM >='$sdate' AND TIM <='$edate'");
$res = mysql_query($requete, $dbconnect) or die(mysql_error());
mysql_close($dbconnect);
$nb_enreg = mysql_num_rows($res);
//on calcule le nb de pages
$nb_pg_rounded = ceil( $nb_enreg / $enreg_par_pg );//arrondi au nb supérieur
//definition du minimum et du maximum
$min= $pg-(($pg-1)%10);
$max= $min+9;
if($nb_pg_rounded<$min+9) $max= $nb_pg_rounded;
// si on est pas au début, on est au moins en 11, on peut donc reculer de 10
if($min!=1) {
echo " <a href='?page=29&pg=".($pg-10)."'><<</a>\n";
}
$i= $min;
do{
//si $i n'est pas egal au numero de la page sur laquelle se trouve l'utilisateur...
if($i != $pg){
//...on affiche un lien vers cette page
echo " <a href='?page=29&pg=$i'>$i</a>\n";
}else{
//...sinon on affiche simplement le n° de la page actuelle
echo " $i ";
}
//on recommence tant que $i n'atteint pas le numero de la derniere page
}while($i++ <= $max);
// si le maximum affiché n'est pas la fin
if($max<$nb_pg_rounded) {
// si la page+10 existe on avance de 10
// sinon, on se positionne sur la fin
if($pg+9<$nb_pg_rounded) {
echo " <a href='?page=29&pg=".($pg+10)."'>>></a>\n";
} else {
echo " <a href='?page=29&pg=".($nb_pg_rounded)."'>>></a>\n";
}
}
}
//ici on calcule à partir de quel enregistrement il faut afficher $enreg_par_pg résultats
$limit = $enreg_par_pg*$pg-$enreg_par_pg;
//c'est la requete qui selectione $enreg_par_pg resultats
if(isset($_POST["bouton"])&& $_POST["bouton"]=="TRIER")
{
$sdate = $_POST['sdate']." 00:00:00";
$edate = $_POST['edate']." 00:00:00";
if(isset($_POST["sev"])&& is_numeric($_POST["sev"]))
{
$requete2 = sprintf("SELECT * FROM shalmlis WHERE SEV=".$_POST['sev']." ORDER BY TIM DESC LIMIT $limit, $enreg_par_pg ");
if(isset($_POST["nbt"])&& is_numeric($_POST["nbt"]))
$requete2 = sprintf("SELECT * FROM shalmlis WHERE SEV=".$_POST['sev']." AND NBT=".$_POST['nbt']." ORDER BY TIM DESC LIMIT $limit, $enreg_par_pg ");
if(isset($_POST["sdate"])&&isset($_POST["edate"])&& $_POST["sdate"]!="date start" && $_POST["edate"]!="date end")
$requete2 = sprintf("SELECT * FROM shalmlis WHERE SEV=".$_POST['sev']." AND NBT=".$_POST['nbt']." AND TIM >='$sdate' AND TIM <'$edate' ORDER BY TIM DESC LIMIT $limit, $enreg_par_pg ");
}
else if(isset($_POST["nbt"])&& is_numeric($_POST["nbt"]))
{
$requete2 = sprintf("SELECT * FROM shalmlis WHERE NBT=".$_POST['nbt']." ORDER BY TIM DESC LIMIT $limit, $enreg_par_pg ");
if(isset($_POST["sdate"])&&isset($_POST["edate"])&& $_POST["sdate"]!="date start" && $_POST["edate"]!="date end")
$requete2 = sprintf("SELECT * FROM shalmlis WHERE SEV=".$_POST['sev']." AND NBT=".$_POST['nbt']." AND TIM >='$sdate' AND TIM <='$edate' ORDER BY TIM DESC LIMIT $limit, $enreg_par_pg ");
}
else if(isset($_POST["sdate"])&&isset($_POST["edate"])&& $_POST["sdate"]!="date start" && $_POST["edate"]!="date end")
{
$requete2 = sprintf("SELECT * FROM shalmlis WHERE SEV=".$_POST['sev']." AND NBT=".$_POST['nbt']." AND TIM>='$sdate' AND TIM<='$edate' ORDER BY TIM DESC LIMIT $limit, $enreg_par_pg ");
}
else {?><script type="text/javascript">
alert("PB: Veuillez au moins remplir un champ ou remplir la date de depart ET la date de fin !");
</script>
<?php
$requete2 = sprintf("SELECT * FROM shalmlis ORDER BY TIM DESC LIMIT $limit, $enreg_par_pg ");
}
}else//affichage normal : pas de tri
{
$requete2 = sprintf("SELECT * FROM shalmlis ORDER BY TIM DESC LIMIT $limit, $enreg_par_pg ");
}
$reponse = mysql_query($requete2, $dbconnect) or die(mysql_error());
$i=0;
$j=1;
$ind=0;
while ($retour = mysql_fetch_array($reponse) )//recupere les lignes de la réponse sql dans un tableau
{
//alternance des couleurs des lignes
$couleur="#C0C0C0";
$couleur2="#A9FF8F";
if($i++%2==0) $couleur="#E6E6E6";
//on affiche chaque colonne dans la table avec une couleur differente pour chaque ligne
echo '<tr bgcolor="',$couleur,'" onclick="changecolor(this);" onmouseover="if (!clic) this.style.backgroundColor=\'',
$couleur2,'\'" onmouseout="if (!clic) this.style.backgroundColor=\'',$couleur,'\'">
<TD id="id'.$j++.'"> '.$retour['TIM'].'</TD>';
echo ' <TD id="id'.$j++.'"> '.$retour['SEV'].' </TD>';
echo ' <TD id="id'.$j++.'" style="text-align: left"> '.$retour['MSG'].' </TD>';
echo ' <TD id="id'.$j++.'"> '.$retour['NBT'].' </TD>';
echo ' <TD id="id'.$j++.'"> '.$retour['NBE'].' </TD>';
echo ' </TR>';
}
// Libération des ressources prises par le fetch_array
mysql_free_result($reponse);
//on appele la fonction précédament créée pour afficher les liens vers les autres pages
pgs($enreg_par_pg, $pg, $dbconnect);
?>
Partager