Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2921 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  recherche dans une base mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recherche dans une base mysql

n°641495
ciloute
Posté le 13-02-2004 à 11:27:40  profilanswer
 

Bonjour,
 
J'ai fait un formlaire pour faire une recherche dans ma base MySql.  
 
Mais lorsque que le champ du formulaire n'est pas saisi, je souhaite que le critère ne soint pas pris en compte. J'ai testé ce code:
 
<?php
 
 
 
if( empty($Surface) ) {
    $Surface = "NULL";
} else {
    $Surface = "'".$Surface."'";
}
 
require_once("connexion.php" );
$Requete_SQL2 = "SELECT Code_Ref, Type, Ville, Photo, Departement, Date_Maj, Nb_pieces, Descriptif, Surface, Prix, A_Louer_Vendre   FROM appartement where  Surface <='" . $_POST[Surface] . "' ";
$result = mysql_query($Requete_SQL2) or die("Erreur de S&eacute;lection dans la base : ". $Requete_SQL2 .'<br />'. mysql_error());
 
 
 
Mais il ne m'affiche pas tous les enregistrements si je ne lui indique pas de valeur.
 
Qu'est ce qu'il ne va pas dans mon code ?

mood
Publicité
Posté le 13-02-2004 à 11:27:40  profilanswer
 

n°641538
la viper
Posté le 13-02-2004 à 11:42:24  profilanswer
 

<?php
if(empty($Surface)) {
 $Requete_SQL2 = "SELECT Code_Ref, Type, Ville, Photo, Departement, Date_Maj, Nb_pieces, Descriptif, Surface, Prix, A_Louer_Vendre   FROM appartement";
} else {
 $Requete_SQL2 = "SELECT Code_Ref, Type, Ville, Photo, Departement, Date_Maj, Nb_pieces, Descriptif, Surface, Prix, A_Louer_Vendre   FROM appartement where  Surface <='" . $_POST[Surface] . "' ";
}
 
require_once("connexion.php" );  
$result = mysql_query($Requete_SQL2) or die("Erreur de S&eacute;lection dans la base : ". $Requete_SQL2 .'<br />'. mysql_error());

n°641567
deliriumtr​emens
sic transit intestinal...
Posté le 13-02-2004 à 11:51:31  profilanswer
 

Code :
  1. $phrase=" ";
  2. If (!empty($Surface))
  3. $phrase.=" WHERE Surface>='".$_POSE[Surface]."'";


 
Tu fais ta requête et tu insères $phrase après "FROM appartement"
 
(apostrophes non garantis)


Message édité par deliriumtremens le 13-02-2004 à 12:00:30
n°641569
ciloute
Posté le 13-02-2004 à 11:52:16  profilanswer
 

c'est une bonne solution.
 
le petit soucis c'est qu'il faut aussi que je vérifie aussi Nb_pieces, Prix, A_Louer_Vendre

n°641590
deliriumtr​emens
sic transit intestinal...
Posté le 13-02-2004 à 11:59:14  profilanswer
 

solution un peu boîteuse, mais que j'utilise

Code :
  1. $phrase=" ";
  2. If (empty($Surface)
  3. $phrase.=" $Surface>0"//tu auras tous les apparts si surface est vide, tu peux le faire sur n'importe quelle variable, c'est pour qu'il y ait un résultat si aucun champ n'est rempli, et pour qu'il n'y ait pas de AND juste après le WHERE.
  4. Else
  5. $phrase.="(Surface>='".$_POSE[Surface]."'" );
  6. If (!empty($Nb_pieces))
  7. $phrase.=" AND (Nb_pieces=$Nb_pieces)";
  8. //idem pour les autres, tu fais des AND
  9. $sql="SELECT gna gna FROM appartement WHERE $phrase";


 
Je sais pas si c'est clair, ya plus élégant à faire, mais ça fonctionne !


Message édité par deliriumtremens le 13-02-2004 à 12:00:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  recherche dans une base mysql

 

Sujets relatifs
[Convertion Bdd] Mysql/php en Access[MySQL] Creation utilisateur
MySql et Jonas[mysql] SELECT à partir d'un array() sans faire de boucle ?
[PHP] [MYSQL] requête sur partie de la date?Mysql et jonas
MySql/PostgreSql LDAP...[PHP] Crée une fonction de recherche sur une base MySQL
[MySQL] Base de donnee pour faire un moteur de rechercheRecherche script php pour moteur de recherche dans une base MySQL
Plus de sujets relatifs à : recherche dans une base mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR