logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
15 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 110 510 326

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» [Résolu] - probleme de requete

[Résolu] - probleme de requete#17156

2Contributeur(s)
GuizmoXargos
3 Modérateur(s)
developpeurjpbJireck
Guizmo Guizmoicon_post
Bonjour,
j'ai un formulaire qui recupere ce qu'à saisit l'utilisateur et qui le compare à la base.
Soit le chmaps ville et remplit donc requete
soit le champs code postal et remplit hop autre requete
soit il a remplit les 2 et là j'ai un soucis
je vous mets mon code et l'erreur ca sera plus simple :-)

<body style="font-family:georgia;">
<SCRIPT language="!javascript!">
<!--
function verif() {
if((document.form.ville.value =='')&&(document.form.postal.value =='')) {
alert('Veuillez saisir une ville ou un code postal');
return false;
}
return true;
}
//-->
</SCRIPT>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<table width="395" border="0" cellpadding="0" cellspacing="0">
<tr bgcolor="#0A81db">
<td colspan="2"><center>
<b>Recherche d'un professionnel par ville</b>
</center></td>
</tr>
<tr bgcolor="#259BF4">
<td> </td>
<td> </td>
</tr>
<tr bgcolor="#259BF4">
<td width="109">Ville : </td>
<td width="286"><input name="ville" type="text" size="40"> <font color="#FF0000">*</font></td>
</tr>
<tr bgcolor="#259BF4">
<td>Code Postal :</td>
<td><input name="postal" type="text" size="10" maxlength="5"> <font color="#FF0000">*</font></td>
</tr>
<tr bgcolor="#259BF4">
<td> </td>
<td> </td>
</tr>
<tr bgcolor="#259BF4">
<td colspan="2"><center><input type="submit" name="Submit" value="Envoyer" !onclick!=" return verif();"></center></td>
</tr>
<tr >
<td colspan="2"><font color="#FF0000">* remplissez au moins un champs</font></td>
</tr>
</table>
</form>
<?php
error_reporting(E_ALL);
// connexion à la BDD
$db = mysql_connect ($host,$user,$pass) or die ("Connexion impossible");
// choix de la BDD
$connexion = mysql_select_db($bdd,$db) or die("impossible d'acceder à la base $db");

//champs ville remplit
if(isset($_POST['ville']))
{
$ville=$_POST['ville'];
$sql="SELECT nom,adresse,tel,fax,bat,site,C.id_prof,lib_prof,V.id_vil,lib_vil FROM client C,ville V,profession P WHERE V.id_vil=C.id_vil AND C.id_prof=P.id_prof AND V.lib_vil=\"$ville\" ORDER BY nom ";
}
//champs code postal remplit
elseif(isset($_POST['postal']))
{
$postal=$_POST['postal'];
$sql= "SELECT nom,adresse,tel,fax,bat,site,C.id_prof,lib_prof,V.id_vil,code_post FROM client C,ville V,profession P WHERE V.id_vil=C.id_vil AND C.id_prof=P.id_prof AND V.code_post=\"$postal\" ORDER BY nom ";
}
// 2 champs remplit
elseif(isset($_POST['ville']) || isset($_POST['postal']))
{
$ville=$_POST['ville'];
$postal=$_POST['postal'];
$sql= "SELECT nom,adresse,tel,fax,bat,site,C.id_prof,lib_prof,V.id_vil,lib_vil,code_post FROM client C,ville V,profession P WHERE V.id_vil=C.id_vil AND C.id_prof=P.id_prof AND V.code_post=\"$postal\" AND V.lib_vil=\"$ville\" ORDER BY nom ";
}

$result = mysql_query($sql,$db) or die(mysql_error().$sql);
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
while($row = mysql_fetch_array($result))
{
//affichage du resultat
$vil = $row['lib_vil'];
?>
<table width="518" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>Profession :</td>
<td><? echo $row['lib_prof'] ?></td>
</tr>
<tr>
<td width="151">Nom : </td>
<td width="357"><? echo $row['nom'] ?></td>
</tr>
<tr>
<td>Adresse :</td>
<td><? echo $row['adresse'] ?></td>
</tr>
<tr>
<td>Ville :</td>
<td><? echo ucfirst(strtolower($vil)) ?></td>
</tr>
<tr>
<td>tel :</td>
<td><? echo $row['tel'] ?></td>
</tr>
<tr>
<td>Fax</td>
<td><? echo $row['fax'] ?></td>
</tr>
<tr>
<td>Site :</td>
<td><? echo $row['site'] ?></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<?

// on libère le résultat
mysql_free_result($sql);
}
}
else
{ echo "Désolé pas encore de professionnels répertoriés pour cette ville";}
// on ferme la connexion à mysql
mysql_close($db);
?>

voilà l'erreur
Notice: Undefined variable: sql in c:\program files\easyphp1-8\www\jeunes\ville.php on line 80

Notice: Undefined variable: sql in c:\program files\easyphp1-8\www\jeunes\ville.php on line 80
Query est vide.

je comprends d'ou vient le prbl, ca vient de mes accolades fermées apres le if et les elseif avant le :
$result = mysql_query($sql,$db) or die(mysql_error().$sql);

mais je ne vois pas comment faire autrement
merci de votre aide
Xargos Xargosicon_post
Notice => ce n'est pas une erreur... juste un "avertissment".
Je suppose que tu utilises easyPHP et que tu n'as pas édité le php.ini pour désactiver l'affichage des avertissements.
Guizmo Guizmoicon_post
exact tu as bien vu
et c'est vrai que je n'ai meme pas fait attention que ce n'etait pas un warning
honte sur moi je pars me cacher et merci de m'avoir eclairée