isset qui veut pas marché :( [Résolu] - PHP - Programmation
Marsh Posté le 31-12-2005 à 15:18:12
oki je test sa
Ouaip sa marche. J'avoue j'ai été un peu couillon sur s'coup la, mais ça fait perpette que j'ai pas touché au php
Bon réveillon et bonne année !!
Marsh Posté le 02-01-2006 à 11:08:11
Par ailleurs je pense que tu pourrais alléger ton code en faisant ça :
|
Maintenant je te conseillerais même autre chose, que je vais te soumettre dans un nouveau post le temps de le coder
Edit : Au fait, il ne faut pas utiliser isset tout seul, mais empty aussi, car tes valeurs seront passée même si elles sont vides.
Marsh Posté le 02-01-2006 à 11:15:01
Voilà :
<?php |
Je l'ai fais de tête donc à vérifier si je n'ai pas fais d'erreur.
Marsh Posté le 31-12-2005 à 15:13:24
Bonjour, j'ai un ptit souci avec mon code de recherche multi-critères, et je voit pas d'ou ça peut venir. Pourtant le code est très simple, j'ai un formulaire:
<form action="resultatrecherche.php" method="post" >
nom de l'adherent
<input type="text" name = "nom" /><br />
prenom
<input type="text" name = "prenom" /><br />
le login IUT
<input type="text" name = "logiut" /><br />
l'adresse email
<input type="text" name = "mail" /><br />
<input type="submit" value="envoyer" />
</form>
et puis ma page resultatrecherche.php avec le code suivant:
<?php
$sql = "SELECT numAdherent FROM `adherent` WHERE ";
$i = 0;
if(isset($_POST['nom']))
{
$sql.= "`NomAdherent` = '".$_POST['nom']."'";
$i++;
}
if(isset($_POST['prenom']))
{
if($i !=0)
$sql.= " AND `PrenomAdherent` = '".$_POST['prenom']."'";
else
{
$sql.= "`PrenomAdherent` = '".$_POST['prenom']."'";
$i++;
}
}
if(isset($_POST['logiut']))
{
if($i !=0)
$sql.= " AND `LoginEtudAdherent` = '".$_POST['logiut']."'";
else
{
$sql.= "`LoginEtudAdherent` = '".$_POST['logiut']."'";
$i++;
}
}
if(isset($_POST['mail']))
{
if($i !=0)
$sql.= " AND `emailAdherent ` = '".$_POST['mail']."'";
else
{
$sql.= "`emailAdherent ` = '".$_POST['mail']."'";
$i++;
}
}
$sql.= ";";
echo $sql;
?>
Le souci c'est que les isset ne sont pas pris en compte et je me retrouve donc avec des requêtes du style :
SELECT numAdherent FROM `adherent` WHERE `NomAdherent` = 'pit' AND `PrenomAdherent` = '' AND `LoginEtudAdherent` = 'log' AND `emailAdherent ` = '';
Pas terrible pour rechercher :s
Si qqn peut me donner un ti coup d'pouce
Merci bien.
Message édité par clam8692 le 31-12-2005 à 16:10:00