des filtres qui ne fonctionne pas ensemble

Eléphanteau du PHP | 45 Messages

13 août 2015, 01:08

Bonsoir ,
Je réalise une application web je veux qu'un utilisateur peut effectuer une recherche pour une mission par 5 filtres ( soit état de la mission don directeur , le type son manager et évidemment le nom de la mission ) . Chaque filtre fonctionne quand il est choisi seul mais 2 filtre à la fois ou 3 ou 4 ou 5 sa ne marche pas voici l'erreur qui s'affiche .
Notice: Undefined variable: rs in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\dev\accueil.php on line 216

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\dev\accueil.php on line 216


L'erreur se trouve dans cette partie ( ligne 216 dés la boucle while qui pose un probléme )
while ($ligne=mysql_fetch_array($rs))
	{
		$nom_mission1=$ligne[0];
		$_SESSION['nom_mission']= $nom_mission1;
		$client=$ligne[3];
		$type1=$ligne[4];
		$etat1=$ligne[8];
		$avancement=$ligne[9];
		$directeur1=$ligne[19];
		$manager1=$ligne[20];

		echo '<div class="container">
		<div class="row">
		<tr>
			<td><a href=acc_miss.php?miss='.$ligne[0].'>'.$_SESSION['nom_mission'].' - '.$client.'</</a></td>
			<td>'.$type1.'</td>
			<div class="container">
			<div class="col-lg-4">
			<td>'.$etat1.'
			<div class="progress">
				<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="10" aria-valuemax="100" style="width: '.$avancement.'">
				'.$avancement.'
				</div>
				
			</td>
			<td>'.$directeur1.'</td>
			<td>'.$manager1.'</td>
		</tr>
		</div></div>
		</div>';		
	}
}
avez vous une idée ? je vous serais très reconnaissant ainsi merci d'avance :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

13 août 2015, 08:26

Bonjour,
Notice: Undefined variable: rs
Ta variable $rs n'est pas définie donc regarde quelques lignes avant, c'est probablement ta requête SQL qui est incorrecte.
:arrow: Fait un echo de celle ci et test là avec phpMyAdmin
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 45 Messages

13 août 2015, 12:10

@Arthur merci pour votre réponse voici la partie php avant la boucle while
mysql_query("SET NAMES UTF8");
include("connexion.php");
if(isset($_POST["Rechercher"]))
{
$nom_mission=$_POST["nom_mission"];
$type=$_POST["Type"];
$etat=$_POST["etat"];
$directeur=$_POST["directeur"];
$manager=$_POST["manager"];

if ($nom_mission && $etat && $type)
{	$req="select * from mission where nom_mission='$nom_mission' AND etat='$etat' AND type_mission='$type'";
	$rs=mysql_query($req);
}
if($nom_mission && $etat && $type=="t_miss" && $directeur=="Directeur" && $manager=="Manager")
{
	$req="select * from mission where nom_mission='$nom_mission' AND etat='$etat'";
	$rs=mysql_query($req);
}	
if($nom_mission && $etat=="et_mis"  && $type && $directeur=="Directeur" && $manager=="Manager")
{
	$req="select * from mission where nom_mission='$nom_mission'";
	$rs=mysql_query($req);
}	
if($nom_mission && $etat=="et_mis"  && $type=="t_miss" && $directeur=="Directeur" && $manager=="Manager")
{
	$req="select * from mission where nom_mission='$nom_mission'";
	$rs=mysql_query($req);
}
if(empty($nom_mission) && $etat && $type=="t_miss" && $directeur=="Directeur" && $manager=="Manager")
{
	$req="select * from mission where etat='$etat' ORDER by avancement_mission DESC";
	$rs=mysql_query($req);
}		
if(empty($nom_mission) && $etat=="et_mis" && $type && $directeur=="Directeur" && $manager=="Manager")
{
	$req="select * from mission where type_mission='$type' ORDER by avancement_mission DESC";
	$rs=mysql_query($req);
}	

if(empty($nom_mission) && $etat=="et_mis"  && $type=="t_miss" && $directeur && $manager=="Manager")
{
	$req="select * from mission where directeur='$directeur' ORDER by avancement_mission DESC";
	$rs=mysql_query($req);
}
if(empty($nom_mission) && $etat=="et_mis"  && $type=="t_miss" && $manager && $directeur=="Directeur")
{
	$req="select * from mission where manager='$manager' ORDER by avancement_mission DESC";
	$rs=mysql_query($req);
}
if(empty($nom_mission) && $etat=="et_mis" && $type=="t_miss" && $directeur=="Directeur" && $manager=="Manager")
{
	$req="select * from mission ORDER by avancement_mission DESC";
	$rs=mysql_query($req);
}	
echo '<br><table class="table table-bordered" border=1 style="width:67%;">	

		<tr>
			<th> Nom de la mission & client</th>
			<th> Type de la mission </th>
			<th> Etat & Avancement </th>
			<th> Directeur </th>
			<th> Manager </th>
		</tr>';

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

13 août 2015, 13:25

@Arthur merci pour votre réponse voici la partie php avant la boucle while
Y a pas de quoi, à toi de debuguer maintenant pour savoir quelle requête ne fonctionne pas :)
Quand tout le reste a échoué, lisez le mode d'emploi...