Résultat de la recherche en php

Fermé
wiem - 29 avril 2010 à 11:48
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 - 29 avril 2010 à 12:13

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>";
}
}
}
}
?>
A voir également:

2 réponses

Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 692
29 avril 2010 à 11:51
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 jeudi 29 avril 2010 Statut Membre Dernière intervention 26 juillet 2010 3
29 avril 2010 à 11:55
Bizarre que sa fonctionne pour la recherche par accident avec cette syntaxe d'ailleurs...
0
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 692
Modifié par Neliel le 29/04/2010 à 11:59
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 jeudi 29 avril 2010 Statut Membre Dernière intervention 26 juillet 2010 3
29 avril 2010 à 12:08
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 jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 692
29 avril 2010 à 12:10
A mon avis, des fois ça doit marché, des fois pas... des requêtes écrites comme ça sont instables...
0
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 jeudi 29 avril 2010 Statut Membre Dernière intervention 26 juillet 2010 3
Modifié par Tryphon71 le 29/04/2010 à 11:53
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