1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
| <html>
<head>
<link rel="stylesheet" href="styles/menu.css" />
<link rel="stylesheet" href="styles/style.css" />
<script type="text/javascript">
function putFrame(){
var f = document.createElement("iframe");
var d = document.getElementById("mon_div");
with(f.style){
position= "absolute";
width = d.offsetWidth+"1210px";
height= d.offsetHeight+"580px";;
top= d.offsetTop+"290px";
left= d.offsetLeft+"20px";
zIndex= "1";
}
document.body.appendChild(f);
}
</script>
</head>
<body>
<?php include('menu/menu.php'); ?>
<div id="mon_div">
<iframe name="iframe">
<?php
if (empty($_POST["ordre"])){$ordre=0;} else {$ordre=$_POST["ordre"];}
if (empty($_POST["sens"])){$sens='asc';} else {$sens=$_POST["sens"];}
// Réglage de la requete
$jour_sem=array('Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche');
$true_fields = array('Tous','liste1','liste2','liste3','liste4','liste5','liste6','liste7','liste8'); // Nom affiché en entête de colonne
$fields = array('id','liste1','liste2','liste3','liste4','liste5','liste6','liste7','liste8'); // Nom réel des champs dans la (les) table(s) avec lien table si besoin (ex : A.liste1)
$tables = array('liste1'); // Nom de la (les) table(s) avec alias si besoin ligne au dessus (ex : liste1 as A)
$jointure = ""; // pour la jointure dans le cas de plusieurs tables ou d'une clause particulière séparé par des AND ou OR (ex : A.id=B.id and A.id=C.id)
$prem_col_chk=true; // Première colonne en case à cocher (true ou false)
// création de la liste des champs pour la requete
for($i=0;$i<count($fields);$i++) {
if ($i==0){$champs = $fields[$i];} else {$champs .= ",".$fields[$i];}
}
// Création de la liste des tables pour la requete
for($i=0;$i<count($tables);$i++) {
if ($i==0){$table = $tables[$i];} else {$table .= ",".$tables[$i];}
}
// Ajout de la jointure eventuelle
if ($jointure != "") {$jointure = "where ".$jointure;}
// Récupération des paramètres du filtre et création de la clause where
$swhere="";
for($i=0;$i<count($fields);$i++) {
if (($prem_col_chk == false && $i >= 0) || ($prem_col_chk == true && $i > 0)) {
if (!isset($_POST["sel_".$fields[$i]])) {
$sel_fields[$i]="Tous";
//echo "empty<br>\n";
} elseif ($_POST["sel_".$fields[$i]] == 'Tous') {
$sel_fields[$i]="Tous";
} else {
$sel_fields[$i]=$_POST["sel_".$fields[$i]];
if ($swhere == "" && $jointure == "") {
$swhere = " where $fields[$i]='$sel_fields[$i]'";
} else {
$swhere .= " and $fields[$i]='$sel_fields[$i]'";
}
}
}
}
$swhere = str_replace("=''"," is null",$swhere);
$req1="select $champs from $table".$swhere;
if ($ordre != 0) {$sordre=" order by ".$fields[$ordre]." ".$sens;} else {$sordre=" order by site ".$sens;}
$req=$req1.$sordre;
$r = mysql_query($req) or die('Erreur lors de la lecture des données de la requete : '.mysql_error());
$numfields = mysql_num_fields($r);
$nb_enreg = mysql_num_rows($r);
echo "<form name='frmfiltre' id='frmfiltre' action='$self' method='post'>\n";
echo "<div name='div_chck' id=\"div_chck\">\n";
echo "<table border='0' class='sortable'><thead><tr>\n";
for($i=0;$i<$numfields;$i++) {
if ($ordre == $i) {
if ($sens == 'asc') {
$ssens='desc';
$im='asc';
} elseif ($sens == 'desc') {
$ssens='asc';
$im='desc';
} else {
$ssens='asc';
$im='desc';
}
} else {
$ssens='asc';
$im='head';
}
if (($prem_col_chk == false && $i >= 0) || ($prem_col_chk == true && $i > 0)) {
echo "<th class='$im'><h3><a title=\"Regler l'ordre par $true_fields[$i]\" onclick=\"recharger($i,'$ssens')\">$true_fields[$i]</a></h3>";
echo "<center><select name='sel_$fields[$i]' id='sel_$fields[$i]' ONCHANGE=\"recharger($ordre,'$sens')\">\n<option value='Tous'> Tous </option>\n";
$req="select distinct $fields[$i] from sites order by $fields[$i] asc";
$r2 = mysql_query($req) or die('Erreur lors de la lecture des données de la requete : '.mysql_error());
while($l=mysql_fetch_array($r2)) {
if ($i == 3) {
if ($l[0] == -1) {
echo "<option value='".$l[0]."'> </option>\n";
} else {
echo "<option value='".$l[0]."'>".$jour_sem[$l[0]]."</option>\n";
}
} else {
echo "<option value='".$l[0]."'>".$l[0]."</option>\n";
}
}
echo "</select></center></td>\n";
} else {
echo "<th><h3><a title=\"Cocher les éléments dans la liste\">$true_fields[$i]</a></h3>";
echo "<center><input type='checkbox' name='choix' id='choix' onclick=\"GereChkbox('2');\">";
}
echo "</th>\n";
}
echo "</tr></thead>\n";
if ($nb_enreg) {
while($row = mysql_fetch_array($r)) {
echo "<tr>\n";
for($i=0;$i<$numfields;$i++) {
if ($prem_col_chk == true && $i == 0) {
echo "<td align='center'><input type='checkbox' name='chk_".$row[$i]."' id='chk_".$row[$i]."' value='".$row[$i]."'";
if (isset($_POST["chk_".$row[$i]])=='on') {echo " checked";}
echo "></td>";
} else {
if ($i == 3) {
$col=$jour_sem[$row[$i]];
} else {
$col=$row[$i];
}
echo "<td>".$col." </td>\n";
}
}
echo "</tr>\n";
}
}
echo "<input type='hidden' name='ordre' id='ordre' value='$i'>";
echo "<input type='hidden' name='sens' id='sens' value='$ssens'>";
echo "</table>\n";
echo "</div>\n";
echo "</form>\n";
for($i=0;$i<$numfields;$i++) {
if (($prem_col_chk == false && $i >= 0) || ($prem_col_chk == true && $i > 0)) {
echo "<script language='javascript'>LSelection('sel_".$fields[$i]."',\"".$sel_fields[$i]."\");</script>\n";
}
}
?>
<script type="text/javascript" src="script.js"></script>
</iframe>
</div> |
Partager