Résultat de la recherche en php

wiem -  
Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   -

je suis en train de réaliser une application web.je veux rechercher dans ma base mysql la liste des accidents par type de recherche que je saisie(soit le num,soit le type,soit le site ...)le probléme c'est que le résultat ne s'affiche que lorsque je saisie un numéro d'accident dont on veut afficher,pour les autres pas de résultat.aidez moi svp.
voici mon code php:
<?php
//recherche par numéro
if(isset($_GET['rechercher']))
{
if(isset($_GET['num']))
{
$num=$_GET['num'];
if($num !="")
{
$connexion=mysql_pconnect("localhost","root","");
$db=mysql_select_db("gpsst",$connexion);
$req="select * from accident where num='$num'";
$res=mysql_query($req,$connexion);

if(mysql_num_rows($res)!=0)
{

echo "<table width=70% align=center border=1>
<tr> <TH>Numéro</TH>
<TH>Type</TH>
<TH>Date</TH>
<TH>Jour</TH>
<TH>Heure</TH>
<TH>Lieu</TH>
<TH>S.lésion</TH>
<TH>N.lésion</TH>
<TH>Cause(s)</TH>
<TH>Observations</TH>
<TH>Matricule victime</TH>
</tr>";
while($e=mysql_fetch_object($res))
{
echo "<tr>
<td>$e->num</td>
<td>$e->type</td>
<td>$e->date</td>
<td>$e->jour</td>
<td>$e->heure</td>
<td>$e->site</td>
<td>$e->s_lesion</td>
<td>$e->n_lesion</td>
<td>$e->cause</td>
<td>$e->obs</td>
<td>$e->mat</td>
</tr>";
echo "<caption><b>Résultat de la recherche </b></caption></table>";
echo" </table>";
}
}
else
{
echo "<br><b>Désolé! Aucune donnée.</b>";
}
}
}
//recherche par type
if(isset($_GET['type']))
{
$type=$_GET['type'];
if($type !="")
{
$connexion=mysql_pconnect("localhost","root","");
$db=mysql_select_db("gpsst",$connexion);
$req1="select * from accident where type='$type'";
$res1=mysql_query($req1,$connexion);
if(mysql_num_rows($res1)!=0)
{
echo "<table width=70% align=center border=1>
<tr> <TH>Numéro</TH>
<TH>Type</TH>
<TH>Date</TH>
<TH>Jour</TH>
<TH>Heure</TH>
<TH>Lieu</TH>
<TH>S.lésion</TH>
<TH>N.lésion</TH>
<TH>Cause(s)</TH>
<TH>Observations</TH>
</tr>";
while($e1=mysql_fetch_object($res1))
{
echo "<tr>
<td>$e->num</td>
<td>$e->type</td>
<td>$e->date</td>
<td>$e->jour</td>
<td>$e->heure</td>
<td>$e->site</td>
<td>$e->s_lesion</td>
<td>$e->n_lesion</td>
<td>$e->cause</td>
<td>$e->obs</td>
<td>$e->mat</td>
</tr>";
echo "<caption><b>Résultat de la recherche </b></caption></table>";
echo" </table>";
}
}
else
{
echo "<br><b>Désolé! Aucune donnée.</b>";
}
}
}
//recherche par site
if(isset($_GET['site']))
{
$site=$_GET['site'];
if($site !="")
{
$connexion=mysql_pconnect("localhost","root","");
$db=mysql_select_db("gpsst",$connexion);
$req="select * from accident where site='$site'";
$res=mysql_query($req,$connexion);
if(mysql_num_rows($res)!=0)
{
echo "<table width=70% align=center border=1>
<tr> <TH>Numéro</TH>
<TH>Type</TH>
<TH>Date</TH>
<TH>Jour</TH>
<TH>Heure</TH>
<TH>Lieu</TH>
<TH>S.lésion</TH>
<TH>N.lésion</TH>
<TH>Cause(s)</TH>
<TH>Observations</TH>
<TH>Matricule victime</TH>
</tr>";
while($e=mysql_fetch_object($res))
{
echo "<tr>
<td>$e->num</td>
<td>$e->type</td>
<td>$e->date</td>
<td>$e->jour</td>
<td>$e->heure</td>
<td>$e->site</td>
<td>$e->s_lesion</td>
<td>$e->n_lesion</td>
<td>$e->cause</td>
<td>$e->obs</td>
<td>$e->mat</td>
</tr>";
echo "<caption><b>Résultat de la recherche </b></caption></table>";
echo" </table>";
}
}
else
{
echo "<br><b>Désolé! Aucune donnée.</b>";
}
}
}
//recherche par chef
if(isset($_GET['chef']))
{
$chef =$_GET['chef'];
if($chef !="")
{
$connexion=mysql_pconnect("localhost","root","");
$db=mysql_select_db("gpsst",$connexion);
$req="select * from accident,salarier where mat.accident=mat.salarier and chef_eq.salarier=$chef";
$res=mysql_query($req,$connexion);
if(mysql_num_rows($res)!=0)
{
echo "<table width=70% align=center border=1>
<tr> <TH>Numéro</TH>
<TH>Type</TH>
<TH>Date</TH>
<TH>Jour</TH>
<TH>Heure</TH>
<TH>Lieu</TH>
<TH>S.lésion</TH>
<TH>N.lésion</TH>
<TH>Cause(s)</TH>
<TH>Observations</TH>
<TH>Matricule victime</TH>
</tr>";
while($e=mysql_fetch_object($res))
{
echo "<tr>
<td>$e->num</td>
<td>$e->type</td>
<td>$e->date</td>
<td>$e->jour</td>
<td>$e->heure</td>
<td>$e->site</td>
<td>$e->s_lesion</td>
<td>$e->n_lesion</td>
<td>$e->cause</td>
<td>$e->obs</td>
<td>$e->mat</td>
</tr>";
echo "<caption><b>Résultat de la recherche </b></caption></table>";
echo" </table>";
}
}
else
{
echo "<br><b>Désolé! Aucune donnée.</b>";
}
}
}
//recherche par cause
if(isset($_GET['cause']))
{
$cause =$_GET['cause'];
if($cause !="")
{
$connexion=mysql_pconnect("localhost","root","");
$db=mysql_select_db("gpsst",$connexion);
$req="select * from accident where cause=$cause";
$res=mysql_query($req,$connexion);
if($res)
{
echo "<table width=70% align=center border=1>
<tr> <TH>Numéro</TH>
<TH>Type</TH>
<TH>Date</TH>
<TH>Jour</TH>
<TH>Heure</TH>
<TH>Lieu</TH>
<TH>S.lésion</TH>
<TH>N.lésion</TH>
<TH>Cause(s)</TH>

<TH>Observations</TH>
<TH>Matricule victime</TH>
</tr>";
while($e=mysql_fetch_object($res))
{
echo "<tr>
<td>$e->num</td>
<td>$e->type</td>
<td>$e->date</td>
<td>$e->jour</td>
<td>$e->heure</td>
<td>$e->site</td>
<td>$e->s_lesion</td>
<td>$e->n_lesion</td>
<td>$e->cause</td>
<td>$e->obs</td>
<td>$e->mat</td>
</tr>";
echo "<caption><b>Résultat de la recherche </b></caption></table>";
echo" </table>";
}
}
else
{
echo "<br><b>Désolé! Aucune donnée.</b>";
}
}
}
//recherche par nature de lésion
if(isset($_GET['n_lesion']))
{
$n_lesion=$_GET['n_lesion'];
if($n_lesion !="")
{
$connexion=mysql_pconnect("localhost","root","");
$db=mysql_select_db("gpsst",$connexion);
$req="select * from accident where n_lesion='$n_lesion'";
$res=mysql_query($req,$connexion);
if(mysql_num_rows($res)!=0)
{
echo "<table width=70% align=center border=1>
<tr> <TH>Numéro</TH>
<TH>Type</TH>
<TH>Date</TH>
<TH>Jour</TH>
<TH>Heure</TH>
<TH>Lieu</TH>
<TH>S.lésion</TH>
<TH>N.lésion</TH>
<TH>Cause(s)</TH>
<TH>Observations</TH>
<TH>Matricule victime</TH>
</tr>";
while($e=mysql_fetch_object($res))
{
echo "<tr>
<td>$e->num</td>
<td>$e->type</td>
<td>$e->date</td>
<td>$e->jour</td>
<td>$e->heure</td>
<td>$e->site</td>
<td>$e->s_lesion</td>
<td>$e->n_lesion</td>
<td>$e->cause</td>
<td>$e->obs</td>
<td>$e->mat</td>
</tr>";
echo "<caption><b>Résultat de la recherche </b></caption></table>";
echo" </table>";
}
}
else
{
echo "<br><b>Désolé! Aucune donnée.</b>";
}
}
}
//recherche par siége de lésion
if(isset($_GET['s_lesion']))
{
$s_lesion=$_GET['s_lesion'];
if($s_lesion !="")
{
$connexion=mysql_pconnect("localhost","root","");
$db=mysql_select_db("gpsst",$connexion);
$req="select * from accident where s_lesion='$s_lesion'";
$res=mysql_query($req,$connexion);
if(mysql_num_rows($res)!=0)
{
echo "<table width=70% align=center border=1>
<tr> <TH>Numéro</TH>
<TH>Type</TH>
<TH>Date</TH>
<TH>Jour</TH>
<TH>Heure</TH>
<TH>Lieu</TH>
<TH>S.lésion</TH>
<TH>N.lésion</TH>
<TH>Cause(s)</TH>
<TH>Observations</TH>
<TH>Matricule victime</TH>
</tr>";
while($e=mysql_fetch_object($res))
{
echo "<tr>
<td>$e->num</td>
<td>$e->type</td>
<td>$e->date</td>
<td>$e->jour</td>
<td>$e->heure</td>
<td>$e->site</td>
<td>$e->s_lesion</td>
<td>$e->n_lesion</td>
<td>$e->cause</td>
<td>$e->obs</td>
<td>$e->mat</td>
</tr>";
echo "<caption><b>Résultat de la recherche </b></caption></table>";
echo" </table>";
}
}
else
{
echo "<br><b>Désolé! Aucune donnée.</b>";
}
}
}
//recherche par periode
if((isset($_GET['datea'])&&( isset($_GET['dateb'])))
{
$datea=$_GET['datea'];
$dateb=$_GET['dateb'];
if(($datea !="")&& ($dateb !="") )
{
$connexion=mysql_pconnect("localhost","root","");
$db=mysql_select_db("gpsst",$connexion);
$req="select * from accident where date between $datea and $dateb";
$res=mysql_query($req,$connexion);
if(mysql_num_rows($res)!=0)
{
echo "<table width=70% align=center border=1>
<tr> <TH>Numéro</TH>
<TH>Type</TH>
<TH>Date</TH>
<TH>Jour</TH>
<TH>Heure</TH>
<TH>Lieu</TH>
<TH>S.lésion</TH>
<TH>N.lésion</TH>
<TH>Cause(s)</TH>
<TH>Observations</TH>
<TH>Matricule victime</TH>
</tr>";
while($e=mysql_fetch_object($res))
{
echo "<tr>
<td>$e->num</td>
<td>$e->type</td>
<td>$e->date</td>
<td>$e->jour</td>
<td>$e->heure</td>
<td>$e->site</td>
<td>$e->s_lesion</td>
<td>$e->n_lesion</td>
<td>$e->cause</td>
<td>$e->obs</td>
<td>$e->mat</td>
</tr>";
echo "<caption><b>Résultat de la recherche </b></caption></table>";
echo" </table>";
}
}
else
{
echo "<br><b>Désolé! Aucune donnée.</b>";
}
}
}
}
?>

2 réponses

Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
Bonjour attention lorsque tu utilise des variables PHP dans une chaîne de caractères!

$req1="select * from accident where type='$type'";

ça c'est pas bon!
Remplace par:

$req1="select * from accident where type='".$type."'";

corrige toutes tes requêtes.
0
Tryphon71 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   3
 
Bizarre que sa fonctionne pour la recherche par accident avec cette syntaxe d'ailleurs...
0
Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
Perso, quand je ne respectai pas cette syntaxe pour mes propres script php... il me sortait toujours une erreur... c'est logique:

si tu tapes:

echo $type;

et :

echo "$type";

tu n'auras pas le même résultat, car le premier c'est afficher le contenu de $type et la seconde, afficher la chaîne de caractère "$type"...
0
Tryphon71 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   3
 
oui oui je sait bien c'est pour sa que sa m'étonne qu'une de ces requetes fonctionne comme sa
...
0
Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
A mon avis, des fois ça doit marché, des fois pas... des requêtes écrites comme ça sont instables...
0
wiem
 
je corrige tous les requetes:le probleme que le serveur affiche le résultat de tous le bloc php,il ne donne pas le résultat souhaité:par exemple si je tape le site et je lance le recherche pour afficher la liste des accidents dans ce site,le résultat affiché contient tous les réponses de tous les requetes(des tableaux contenant sauf les th
0
Tryphon71 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   3
 
Salut,

Sur toute tes requêtes de ce type:

$res=mysql_query($req,$connexion);

ajoute un or die(mysql_error()); pour voir si tes requetes s'effectuent bien.

Sa donne :

$res=mysql_query($req,$connexion) or die(mysql_error());
0