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

PHP & Base de données Discussion :

[SQL] problème requete multicritère


Sujet :

PHP & Base de données

  1. #21
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Il faut jouer avec l'attribut VALUE de tes OPTION.

    Par exemple une idée (pas sûr que ce soit la meilleure mais bon), tu mets pour ton OPTION "- de 10 000€" un VALUE qui vaut "0-10000", pour l'OPTION "de 10 à 15 000€" tu mets "10000-15000", etc...
    Après tu récupères la sélection, tu obtiens donc par exemple "10000-15000", avec un explode (voir la doc) tu peux séparer la chaîne pour avoir "10000" d'un côté et "15000" de l'autre, et après tu fais ta requête avec ça.

  2. #22
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Par défaut
    voilà j'ai employé un explode

    donc voici le code modifié

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <td><select name="select_prix">
    	<option>Faites votre choix !</option>
    	<option value="0-100000">- 100.000 €</option>
    	<option value="100000-150000">100.000 - 150.000 €</option>
    	<option value="150000-200000">150.000 - 200.000 €</option>
    	<option value="200000-900000">+ 200.000 €</option>
    	</select></td>
    et le code avec l'explode

    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
     
    <?php
    include( "config_server.php" );
    $expl=explode(" ",$_POST['select_prix']);
    echo $expl[0];
    echo $expl[1];
    $sql = "SELECT * FROM biens WHERE type='" . $_POST['select_type'] . "'"; 
     
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    ?>
     
        <table width="473"  class="tableau-affichage">
        <?php
        while ($data = mysql_fetch_array($req)) {
    	?>
    	<tr>
        <td><!-- td1 -->
    	<table width="466" bgcolor="#E3F9D2" style="border:1px solid #8E8A8A; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; ">
     
        <tr>
        <td>Situation : <?php echo $data['situation']; ?></td>
        <td align="center">Prix : <?php echo $data['prix']; ?> euros</td>
        </tr>
        </table>
        </td><!-- fin td1 -->
        </tr>
        <tr>
        <td><!-- td2 -->
    	<table width="466" bgcolor="#FFFFCC" style="border:1px solid #8E8A8A;">
        <tr>
         <td><a href="details_biens.php?id=<?php echo $data['id'] ?>"><?php echo '<img src="'.$data['photo1'].'" width="132" height="100" style="border:1px solid #000000; " />' ?></a></td>
        <td><?php echo $data['composition']; ?></td>
        </tr>
        </table>
     
    	</td><!-- fin td2 -->
        </tr>
     <?php
        }
        ?>
    	</table>
    donc j'ai fait un echo de mon explode mais ca me met comme résultat

    100000-150000

    et non 100000 et 150000 donc on diraait qu'il ne les sépare pas

  3. #23
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    C'est parce qu'il faut lui indiquer le séparateur au explode, et là c'est pas un espace c'est un tiret...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $expl=explode("-",$_POST['select_prix']);

  4. #24
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Par défaut
    ce que je viens de faire et ca marche c'est dans le value mettre un espace entre les 2 valeurs et ca marche je te montre mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <td><select name="select_prix">
    	<option>Faites votre choix !</option>
    	<option value="0 100000">- 100.000 €</option>
    	<option value="100000 150000">100.000 - 150.000 €</option>
    	<option value="150000 200000">150.000 - 200.000 €</option>
    	<option value="200000 900000">+ 200.000 €</option>
    	</select></td>
    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
     
    <?php
    include( "config_server.php" );
    $expl=explode(" ",$_POST['select_prix']);
     
    $sql = "SELECT * FROM biens WHERE type='" . $_POST['select_type'] . "' AND prix BETWEEN $expl[0] AND $expl[1] "; 
     
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    ?>
     
        <table width="473"  class="tableau-affichage">
        <?php
        while ($data = mysql_fetch_array($req)) {
    	?>
    	<tr>
        <td><!-- td1 -->
    	<table width="466" bgcolor="#E3F9D2" style="border:1px solid #8E8A8A; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; ">
     
        <tr>
        <td>Situation : <?php echo $data['situation']; ?></td>
        <td align="center">Prix : <?php echo $data['prix']; ?> euros</td>
        </tr>
        </table>
        </td><!-- fin td1 -->
        </tr>
        <tr>
        <td><!-- td2 -->
    	<table width="466" bgcolor="#FFFFCC" style="border:1px solid #8E8A8A;">
        <tr>
         <td><a href="details_biens.php?id=<?php echo $data['id'] ?>"><?php echo '<img src="'.$data['photo1'].'" width="132" height="100" style="border:1px solid #000000; " />' ?></a></td>
        <td><?php echo $data['composition']; ?></td>
        </tr>
        </table>
     
    	</td><!-- fin td2 -->
        </tr>
     <?php
        }
        ?>
    	</table>
    voilà je viens de faire les tests ca marche niquel

    merci

  5. #25
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Par défaut
    encore une petite question on sélectionne les enregistrements mais si pour telle recherche on n'as pas d'enregistrements ou et comment puis je mettre un affichage par ex: pas d'enregistrements pour cette requete

    merci

  6. #26
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Tente le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!mysql_fetch_array($req)) echo 'ya rien !!!';
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  7. #27
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Voilà ou un truc dans le genre.
    Content que ça marche


  8. #28
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Par défaut
    oui merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [SQL]Problème requete sql sous access avec vba
    Par aaliyan dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 13/04/2007, 18h53
  2. [SQL] Problème requete sql
    Par dionysos73 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/10/2006, 18h11
  3. Problème requete SQL
    Par tonyskn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/11/2004, 20h37
  4. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  5. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31

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