IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Je coince sur mon formulaire multicritere


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Par défaut Je coince sur mon formulaire multicritere
    Bonjour,
    Je viens de créer un formulaire multi recherche pour un site immo.
    Qui consiste à sélectionner un type de biens puis un lieu puis un prix.
    Jusque là tout va bien, les requêtes sont respectées et les biens sélectionnés suivant la demande sont affichés dans un tableaux.
    Par contre lorsque nous n'avons pas de produits à proposer je souhaiterais afficher un message style : "aucun produits ne correspond à votre recherche" .
    Et la je coince, je ne sait pas ou mettre se foutu code si quelqu'un peut m'aider.
    Merci
    Voici le script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
    <?php 
    require_once("../connexionMysql.inc.php");
    if (isset($_POST ['bouton']))
    $requete="SELECT ref, photo, ville, typeBiens, prix FROM listevente WHERE catID=1 AND typeBiens ='".$_POST['type']."' AND ville = '".$_POST['ville']."' AND prix <= '".$_POST['prix']."'";
    else
    $requete="SELECT ref, photo, ville, typeBiens, prix FROM listevente WHERE catID=1 ";
    $resultat=mysql_query($requete)or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
    ?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <!--[if lt IE 9]>
    <script src="../script/html5.js"></script>
    <![endif]-->
    <!--[if  IE ]>
        <link type="text/css" rel="stylesheet" href="styles-ie.css" />
    <![endif]-->
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>site immo</title>
     
     
     
    <link rel="stylesheet" href="style.css" type="text/css" media="screen"/>
    <link href="../css/960.css" rel="stylesheet" type="text/css" />
    <link href="../css/reset.css" rel="stylesheet" type="text/css" />
    <link href="../css/text.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    .style1 {font-family: Georgia, "Times New Roman", Times, serif}
    .style2 {font-size: 16px}
    -->
    </style>
    </head>
     
    <body>
    	<div class="container_12">
            <header class="grid_3">
            <img id="logo" src="../logo.png" />
            </header>
     
            <nav id="menu" class="grid_9">
                <ul>
                    <li><a href="../index.html" class="accueil">Présentation</a></li>
                    <li><a href="ventes.html"class="ventes">Ventes</a></li>
                    <li><a href="../locations/locations.html"class="locations">Locations</a></li>
                    <li><a href="../contact/contact.html"class="contact">Contact</a></li>
                </ul>
            </nav>
     
            <section id="contenu">
            	<article id="biens" class="grid_4">
            		<h2>Nos biens en ventes</h2>
    				 <form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
      <label>Sélectionnez un type de bien : <br />
        <select name='type' id='type' >
       <option >Type de biens</option>
        <option value="Appartement" >Appartement</option>
        <option value="Local" >Local commercial</option>
        <option value="Maison" >Maison</option>
        <option value="Terrain" >Terrain</option>
        </select>
    </label><br />
     <label>Choisissez une localité : <br />
        <select name='ville' id='ville'>
        <option >Ville</option>
        <option value="ville1" >ville1</option>
        <option value="ville2" >ville2</option>
        <option value="ville3" >ville3</option>
        <option value="ville4" >ville4</option>
        <option value="ville5" >ville5</option>
        </select>
    </label><br />
    <label>Choisissez un prix max : <br />
        <select name='prix' id='prix'>
        <option >Prix</option>
        <option  value="1000000" > Pas de maximum </option>
        <option  value="150000" > 150000 </option>
        <option  value="250000" > 250000 </option>
        <option  value="350000" > 350000</option>
        </select>
    </label><br />
    <br />
      <label>
      <input type="submit" name="bouton"  />
      </label>
    </form>
           	  </article>
              	<article id="liste" class="grid_8">
                <div id="listeBiens">
     
    <table width="610" border="1">
     
    <?php while ($listevente=mysql_fetch_array($resultat )){ ?>
     
      <tr>
        <td><div align="center" class="photo" width="295px"><img src="../imagesSite/listevente/<?php echo $listevente['photo']; ?>" height="197" /></div></td>
        <td>
        <div class="police" align="left" >
        Ref : <?php echo $listevente['ref']; ?><br /> 
        Ville : <?php echo $listevente['ville']; ?><br /> 
        Type de biens : <?php echo $listevente['typeBiens']; ?><br /> 
        Prix : <?php echo $listevente['prix']; ?> €<br /> 
        <a href="ficheVente.php?ref=<?php echo $listevente['ref']; ?>"><img src="../imagesSite/voirVentes.png" height="20" ></a><br /> 
        </div>
        </td>
      </tr>
      <?php  }?> 
     
    </table>
                </div>
              </article>
            </section>
     
          <footer id="footer">
            <p ><a href="http://www.moi.fr">© moi</a><p>
            </footer>
    	</div>
    </body>
     
    </html>

  2. #2
    Membre chevronné Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Par défaut
    Bonjour,

    Il te suffit de vérifier qu'il existe au moins un résultat dans ce que tu as récupéré.

    Si ce n'est pas le cas tu affiche ensuite le message.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Par défaut
    Alors comment procède t on pour les vérifications des requêtes.
    As tu un lien qui puisse me les expliquer car je ne suis jamais tomber sur ce cas de figure.

  4. #4
    Membre chevronné Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Par défaut
    C'est super simple !

    En fait tu effectue une requête avec les même restriction (clause WHERE) sauf qu'au lieu de récupérer les données tu compte le nombre de données d'un champ.

    Si c'est supérieur à 0 c'est que tu as des données, sinon eh bien c'est qu'il n'y en à pas

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $requete="SELECT COUNT(ref) WHERE catID=1 AND typeBiens ='".$_POST['type']."' AND ville = '".$_POST['ville']."' AND prix <= '".$_POST['prix']."'";
    $resultat=mysql_query($requete)or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
    $row=mysql_fetch_array($resultat);
    if($row[0] > 0){
     //ton code
    }
    else
        echo "aucun produits ne correspond à votre recherche";

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Par défaut
    Merci humitake pour la rapidité de ta réponse.
    J'ai compris le systême, j'essaierais ce soir je vous tiens au courant.
    Merci encore

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Pas besoin d'utiliser une requête spécifique pour cela. Tu fais ta requête initiale et tu peux trouver le nombre de résultats avec mysql_num_rows

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin d'avis sur mon formulaire
    Par Olivier Regnier dans le forum Web
    Réponses: 2
    Dernier message: 16/11/2007, 10h46
  2. Réponses: 1
    Dernier message: 06/10/2006, 22h03
  3. Réponses: 1
    Dernier message: 14/09/2006, 11h53
  4. Question sur mon formulaire de contact
    Par Analfabete dans le forum Langage
    Réponses: 3
    Dernier message: 24/04/2006, 19h12
  5. la date et heure sur mon formulaire
    Par azde7015 dans le forum Access
    Réponses: 11
    Dernier message: 07/02/2006, 11h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo