restriction sur affichage
Posté : 02 juin 2005, 15:25
hi,
ma table de donnée s'affiche dans un tableau. Je veut faire des restrictions pour n'afficher par exemple que les enregistrements dont "tel champs" == "maurice".
J'ai fait un fomulaire avec des menus deroulant pour chaque champ que je veut restreindre.
ca, c'est l'affichage de mon tableau avec toute la table.
j'ai fait un fomulaire avec mes menus, que j'envoie a la même page.
sur cette page, je teste si elle recoit les variables des menus deroulants.
Si elle les recoit, alors j'aimerai que ma requete (pour l'affichage du tableau) se face avec des where(condition du menu deroulant)
Mon problème, c'est que dans mes menus, j'ai, en plus de mes enregistrements, l'option "Tous" (qui sert a tout afficher)
Voici l'ebauche de mon taf:
elle fait les test puis ensuite crée les boutons. Mais je ne sais pas comment gerer mes requtes.
ma table de donnée s'affiche dans un tableau. Je veut faire des restrictions pour n'afficher par exemple que les enregistrements dont "tel champs" == "maurice".
J'ai fait un fomulaire avec des menus deroulant pour chaque champ que je veut restreindre.
ca, c'est l'affichage de mon tableau avec toute la table.
$req_brouillon=mysql_query("select * from phpgw_workf_versions ORDER BY id_note, id_version");
echo "<table border='1'>";
echo "<tr><td></td><td>Etat</td><td>Service</td><td>Titre</td><td>Date d'instance</td><td>destinataire</td>";
while ($a_result = mysql_fetch_array($req_brouillon, MYSQL_ASSOC)) {
$resultq = mysql_query("SELECT DISTINCT date FROM phpgw_workf_instances WHERE id_instance = ".$a_result['id_instance']);
$bacp=mysql_fetch_array($resultq, MYSQL_ASSOC);
$dec= explode ("-",$bacp['date']);
$a=$dec[0];
$b=$dec[1];
$c=$dec[2];
switch ($b)
{case "01":$moii="Janvier";break;
case "02": $moii="Février";break;
case "03": $moii="Mars";break;
case "04": $moii="Avril";break;
case "05": $moii="Mai";break;
case "06": $moii="Juin";break;
case "07": $moii="Juillet";break;
case "08": $moii="Aout";break;
case "09": $moii="Septembre";break;
case "10": $moii="Octobre";break;
case "11": $moii="Novembre";break;
case "12": $moii="Decembre";break;
}
$bac=$c."-".$moii."-".$a;
$s = "SELECT DISTINCT nom_service FROM phpgw_workf_services WHERE id_service = ".$a_result['id_service'];
// Envoi de la requête à MySQL
$results = mysql_query($s);
$bic=mysql_fetch_array($results, MYSQL_ASSOC);
echo "<tr>";
echo "<td><a href='consulter_archive.php?id=".$a_result['id_note']."&ide=".$a_result['id_version']."'>Consulter</a></td>";
echo "<td>".$etat."</td>";
echo "<td>".$bic['nom_service']."</td>";
echo "<td>".$a_result['titre']."</td>";
echo "<td>".$bac."</td>";
echo "<td>".$a_result["destinataire"]."</td>";
echo "</tr>";
}
echo "</table>";
now, comme je veux faire des rstrictions en fonction des menus déroulant, j'ai ajouter du code.j'ai fait un fomulaire avec mes menus, que j'envoie a la même page.
sur cette page, je teste si elle recoit les variables des menus deroulants.
Si elle les recoit, alors j'aimerai que ma requete (pour l'affichage du tableau) se face avec des where(condition du menu deroulant)
Mon problème, c'est que dans mes menus, j'ai, en plus de mes enregistrements, l'option "Tous" (qui sert a tout afficher)
Voici l'ebauche de mon taf:
<?php
if (isset ($_POST['service'],$_POST['date'],$_POST['auteur']))
{
$rouge=$_POST['service'];
$jaune=$_POST['date'];
$vert=$_POST['auteur'];
if ($rouge=='Tous')
{//RQ/
}
else
{//RQ?
}
if ($jaune=='Tous')
{//RQ?
}
else
{$dec= explode ("-",$jaune);
$a=$dec[0];
$b=$dec[1];
$c=$dec[2];
switch ($b)
{case "Janvier":$moii="01";break;
case "Février": $moii="02";break;
case "Mars": $moii="03";break;
case "Avril": $moii="04";break;
case "Mai": $moii="05";break;
case "Juin": $moii="06";break;
case "Juillet": $moii="07";break;
case "Aout": $moii="08";break;
case "Septembre": $moii="09";break;
case "Octobre": $moii="10";break;
case "Novembre": $moii="11";break;
case "Decembre": $moii="12";break;
}
$mauve=$c."-".$moii."-".$a;
//RQ?
$rqut = "SELECT DISTINCT nom_service FROM phpgw_workf_services ORDER BY nom_service";
$resultut = mysql_query($rqut)
}
if ($vert=='Tous')
{//
}
else
{
}
}
?>
<form name='tri' action='archives.php' method='post'>
Service :
<select name='nom_service'><br>
<option value=Tous selected>Tous
<?php
include ("connexion.php");
connection ();
$rq = "SELECT DISTINCT nom_service FROM phpgw_workf_services ORDER BY nom_service";
$result = mysql_query($rq)
or die ("Exécution de la requête service impossible".mysql_error());
//DISTINCT permet d'afficher qu'une fois les données
//on liste tous les services de la table service.
while ($liste=mysql_fetch_array($result))
{
extract($liste);
echo "<option value=" .$nom_service.">".$nom_service."</option>\n";
}
?></select>
date :
<select name='date'><br><option value=Tous selected>Tous
<?php
//on selectionne la date dans la table instance
$rqs = "SELECT DISTINCT date FROM phpgw_workf_instances ORDER BY date";
$results = mysql_query($rqs)
or die ("Exécution de la requête instance impossible : ".mysql_error());
//DISTINCT permet d'afficher qu'une fois les données
//on liste toutes les options possibles c-a-d tous les enregistrements.
while ($list=mysql_fetch_array($results))
{
extract($list);
//affciche la date en francais et en toutes lettres
$dec= explode ("-",$date);
$a=$dec[0];
$b=$dec[1];
$c=$dec[2];
switch ($b)
{case "01":$moii="Janvier";break;
case "02": $moii="Février";break;
case "03": $moii="Mars";break;
case "04": $moii="Avril";break;
case "05": $moii="Mai";break;
case "06": $moii="Juin";break;
case "07": $moii="Juillet";break;
case "08": $moii="Aout";break;
case "09": $moii="Septembre";break;
case "10": $moii="Octobre";break;
case "11": $moii="Novembre";break;
case "12": $moii="Decembre";break;
}
$dat=$c."-".$moii."-".$a;
echo "<option value=".$dat.">".$dat."</option>\n ";
}echo "</select>";
echo "<INPUT TYPE='submit' name ='OK' VALUE='OK'>";
?>
</form>
cette partie de code, je la situe en debut de page de code.elle fait les test puis ensuite crée les boutons. Mais je ne sais pas comment gerer mes requtes.