Configuration : Windows Xp Pro , Firefox 3.6.3, Google Chrome , IE8 , WampServer 2.0
Bonjour, je suis en train de mettre au point un moteur de recherche dans ma base de données . Le principe est qu'avec différents test je concatene des chaines afin d'etablir ma requete finale selon les critères selectionné , et systématiquement lorsque j'essaie d'effectuer ma requete j'ai :Erreur 324 (net::ERR_EMPTY_RESPONSE) : Erreur inconnue , en debuguant j'ai finis par isoler la section ou ça bug , voici mon code :
<?php
require("connexion.php");
$nom=$_POST['nom'];
$a=false;
$prenom=$_POST['prenom'];
$b=false;
$Institution=$_POST['Institution'];
$c=false;
$mail=$_POST['mail'];
$d=false;
$tel=$_POST['tel'];
$e=false;
$adresse=$_POST['adresse'];
$f=false;
$cp=$_POST['cp'];
$g=false;
$ville=$_POST['ville'];
$h=false;
$clientde=$_POST['clientde'];
$j=false;
$annee=$_POST['annee'];
$k=false;
$l=false;
$m=false;
$n=false;
$o=false;
$p=false;
$q=false;
$r=false;
$s=false;
//On init la requete SQL
$req = "SELECT * FROM clients,profession,personnel WHERE clients.Institution=profession.num
AND clients.clientde=personnel.num AND ";
//Si le champ de formulaire n'est pas vide, on l'ajoute à la requete
if($nom != '')
{
$req =$req . "clients.nom ='$nom' AND ";
$a=true;
}
if($prenom != '')
{
$req =$req . "clients.prenom = '$prenom' AND ";
$b=true;
}
if($mail != '')
{
$req =$req . "clients.mail ='$mail' AND ";
$c=true;
}
if($annee != '')
{
$req =$req . "clients.annee = '$annee' AND ";
$d=true;
}
//Cas particuliers pour les checkbox.
//Les checkbox
if(isset($_POST['prof']))
{
$req =$req . "profession.libelle ='$Institution' AND ";
$e=true;
}
if(isset($_POST['fixe']))
{
if($tel!= '')
{
$req =$req . "clients.Telfixe = '$tel' AND ";
$f=true;
}
}
if(isset($_POST['fax']))
{
if($tel!= '')
{
$req =$req . "clients.fax = '$tel' AND ";
$g=true;
}
}
if(isset($_POST['portable']))
{
if($tel!= '')
{
$req =$req . "clients.Telportable = '$tel' AND ";
$h=true;
}
}
if(isset($_POST['normal']))
{
if($adresse != '')
{
$req =$req . "clients.adresse1 = '$adresse' AND ";
$j=true;
}
if($cp != '')
{
$req =$req . "clients.cp = '$cp' AND ";
$k=true;
}
if($ville != '')
{
$req =$req . "clients.ville = '$ville' AND ";
$l=true;
}
}
if(isset($_POST['fact']))
{
if($adresse != '')
{
$req =$req . "clients.adrfact = '$adresse' AND ";
$m=true;
}
if($cp != '')
{
$req =$req . "clients.cpfact = '$cp' AND ";
$n=true;
}
if($ville != '')
{
$req =$req . "clients.villefact = '$ville' AND ";
$o=true;
}
}
if(isset($_POST['chant']))
{
if($adresse != '')
{
$req =$req . "clients.adrchant = '$adresse' AND ";
$p=true;
}
if($cp != '')
{
$req =$req . "clients.cpchant = '$cp' AND ";
$q=true;
}
if($ville != '')
{
$req =$req . "clients.villechant = '$ville' AND ";
$r=true;
}
}
//Si aucun champ n'a été rempli, on les affiche tous
if($req == "SELECT * FROM clients,profession,personnel WHERE clients.Institution=profession.num
AND clients.clientde=personnel.num AND ")
{
$req = "SELECT * FROM clients,profession,personnel WHERE clients.Institution=profession.num
AND clients.clientde=personnel.num ";
$s=true;
}
//On enleve un éventuel "AND" de fin de requete et le . du fin d'affichage
if($req[strlen($req) - 2] == 'D')
$req = substr($req, 0, strlen($req) - 4);
echo "<table>";
//A decommenter si on veut debuguer
//echo $req;
$i = 0; /*Une variable pour compter
les deux lignes suivantes sont la source du bug !!!!*/
$jeu=@mysql_query($req);
while($ligne=mysql_fetch_array($jeu))
{
$i=$i+1;
//si la requete est celle par defaut : affichage par defaut
if ($s)
{
echo'<tr><td>'.$ligne["Civilite"].'</td>
<td>'.'<td>'.$ligne["Nom"].'</td>
<td>'.'<td>'.$ligne["Prenom"].'</td>
<td>'.'<td>'.$ligne["libelle"].'</td>
<td>'.'<td>'.$ligne["Telfixe"].'</td>
<td>'.'<td>'.$ligne["Telportable"].'</td>
<td>'.'<td>'.$ligne["Fax"].'</td>
<td>'.'<td>'.$ligne["Mail"].'</td>
<td>'.'<td>'.$ligne["Adresse1"].'</td>
<td>'.'<td>'.$ligne["ville"].'</td>
<td>'.'<td>'.$ligne["cp"].'</td>
<td>'.'<td>'.$ligne["adrfact"].'</td>
<td>'.'<td>'.$ligne["villefact"].'</td>
<td>'.'<td>'.$ligne["cpfact"].'</td>
<td>'.'<td>'.$ligne["adrchant"].'</td>
<td>'.'<td>'.$ligne["villechant"].'</td>
<td>'.'<td>'.$ligne["cpchant"].'</td>
<td>'.'<td>'.$ligne["personne"].'</td>
<td>'.'<td>'.$ligne["annee"].'</td>
</td></tr>';
}
// sinon affichage "personalisé"
else
{
$tab='<td>'.$ligne["Civilite"].'</td>';
if ($a)
{
$tab=$tab.'<td>'.$ligne["Nom"].'</td>';
}
if ($b)
{
$tab=$tab.'<td>'.$ligne["Prenom"].'</td>';
}
if ($c)
{
$tab=$tab.'<td>'.$ligne["Mail"].'</td>';
}
if ($d)
{
$tab=$tab.'<td>'.$ligne["annee"].'</td>';
}
if ($e)
{
$tab=$tab.'<td>'.$ligne["libelle"].'</td>';
}
if ($f)
{
$tab=$tab.'<td>'.$ligne["Telfixe"].'</td>';
}
if ($g)
{
$tab=$tab.'<td>'.$ligne["Fax"].'</td>';
}
if ($h)
{
$tab=$tab.'<td>'.$ligne["Telportable"].'</td>';
}
if ($j)
{
$tab=$tab.'<td>'.$ligne["adresse1"].'</td>';
}
if ($k)
{
$tab=$tab.'<td>'.$ligne["ville"].'</td>';
}
if ($l)
{
$tab=$tab.'<td>'.$ligne["cp"].'</td>';
}
if ($m)
{
$tab=$tab.'<td>'.$ligne["adrfact"].'</td>';
}
if ($n)
{
$tab=$tab.'<td>'.$ligne["villefact"].'</td>';
}
if ($o)
{
$tab=$tab.'<td>'.$ligne["cpfact"].'</td>';
}
if ($p)
{
$tab=$tab.'<td>'.$ligne["adrchant"].'</td>';
}
if ($q)
{
$tab=$tab.'<td>'.$ligne["villechant"].'</td>';
}
if ($r)
{
$tab=$tab.'<td>'.$ligne["cpchant"].'</td>';
}
if($tab[strlen($tab) - 1] == '>')
{
$tab=$tab."'";
}
echo '<tr>'.$tab.'</tr>';
}
}
//On affiche les résultats dans un tableau
echo '</table><div id=res>Votre recherche a '.$i.' résultats</div>';
mysql_close(); // Deconnexion
?>
Pourtant en debuguant j'ai testé mes requetes avec phpmyadmin et elles sont bonnes !
Si une erreur mysql apparait, elle sera affichée, ce sera alors plus simple de connaître la source du problème plutôt que de lire tout ton code PHP assez long et "occulte"
ayant cherché ailleurs entre temps , j'ai essayé comme on me l'as conseillé d'utiliser easy php et ho surprise , mon code fonctionne parfaitement sous ce logiciel , mais perci de ta reponse mrgeek , je mémorise pour de futurs erreurs (que je ne manquerais pas de faire =D )
Obtenez des réponses à vos questions sur la gestion de données, partagez des astuces et restez à jour avec les dernières avancées technologiques en matière de stockage de données.