guitou12 Dev php à mi-temps :D | Je te propose des petites modifications sur ton code pour une meilleure lisibilité ainsi qu'une petite erreur (pe de frappe ?) que j'ai vu
Code :
- <?php
- // Informations pour la connexion à la BDD
- $host = '****';
- $user = '****';
- $pass = '****';
- $db = '****';
- // Connnexion à la BDD
- $link = mysql_connect ($host,$user,$pass) or die ('Erreur :'.mysql_error());
- mysql_select_db($db) or die ('Erreur :'.mysql_error());
- $souhait = $_POST['type_recherche'];
- $prix_mini = $_POST['prix_mini'];
- $prix_maxi = $_POST['prix_maxi'];
- $type_bien = $_POST['type_bien'];
- $secteur = $_POST['secteur'];
- $nbre_pieces = $_POST['nbre_pieces'];
- $reference = $_POST['reference'];
- $query = "SELECT
- photo1,
- type,
- secteur,
- categorie,
- no_asp,
- prix,
- cp_internet,
- ville_internet,
- nb_chambres,
- surf_hab,
- surf_terrain
- FROM t_type, t_secteur, t_maison, t_categorie
- WHERE t_type.type = ".$type_bien."
- AND t_maison.idx_type_offre = t_type.id_type_offre
- AND t_maison.nbre_pieces = ".$nbre_pieces."
- AND t_maison.no_asp = ".$reference."
- AND t_maison.prix >= ".$prix_mini."
- AND t_maison.prix <= ".$prix_maxi;
- if ($secteur == 'cne') {
- $secteur = " AND t_maison.idx_secteur = '1' AND t_maison.idx_secteur = '2'";
- }
- elseif ($secteur == 'ne') {
- $reponse = mysql_query("SELECT photo1, type, secteur, categorie, no_asp, prix, cp_internet, ville_internet, nb_chambres, surf_hab, surf_terrain FROM t_type, t_secteur, t_maison, t_categorie WHERE t_type.type = ".$type_bien." AND t_maison.idx_type_offre = t_type.id_type_offre AND t_maison.idx_secteur = '6' AND t_maison.idx_secteur = '7' AND t_maison.idx_secteur = '9' AND t_maison.idx_secteur = '10' AND t_maison.idx_secteur = '11' AND t_maison.nbre_pieces = ".$nbre_pieces." AND t_maison.no_asp = ".$reference." AND t_maison.prix >= ".$prix_mini." AND t_maison.prix <= ".$prix_maxi."" );
- }
- elseif ($secteur == 'se')
- {
- $reponse = mysql_query("SELECT photo1, type, secteur, categorie, no_asp, prix, cp_internet, ville_internet, nb_chambres, surf_hab, surf_terrain FROM t_type, t_secteur, t_maison, t_categorie WHERE t_type.type = ".$type_bien." AND t_maison.idx_type_offre = t_type.id_type_offre AND t_maison.idx_secteur = '13' AND t_maison.idx_secteur = '14' AND t_maison.idx_secteur = '16' AND t_maison.idx_secteur = '17' AND t_maison.nbre_pieces = ".$nbre_pieces." AND t_maison.no_asp = ".$reference." AND t_maison.prix >= ".$prix_mini." AND t_maison.prix <= ".$prix_maxi."" );
- }
- elseif ($secteur == 'no')
- {
- $reponse = mysql_query("SELECT photo1, type, secteur, categorie, no_asp, prix, cp_internet, ville_internet, nb_chambres, surf_hab, surf_terrain FROM t_type, t_secteur, t_maison, t_categorie WHERE t_type.type = ".$type_bien." AND t_maison.idx_type_offre = t_type.id_type_offre AND t_maison.idx_secteur = '19' AND t_maison.idx_secteur = '20' AND t_maison.idx_secteur = '21' AND t_maison.idx_secteur = '22' AND t_maison.idx_secteur = '23' AND t_maison.idx_secteur = '24' AND t_maison.idx_secteur = '26' AND t_maison.nbre_pieces = ".$nbre_pieces." AND t_maison.no_asp = ".$reference." AND t_maison.prix >= ".$prix_mini." AND t_maison.prix <= ".$prix_maxi."" );
- }
- elseif ($secteur == 'so')
- {
- $reponse = mysql_query("SELECT photo1, type, secteur, categorie, no_asp, prix, cp_internet, ville_internet, nb_chambres, surf_hab, surf_terrain FROM t_type, t_secteur, t_maison, t_categorie WHERE t_type.type = ".$type_bien." AND t_maison.idx_type_offre = t_type.id_type_offre AND t_maison.idx_secteur = '28' AND t_maison.idx_secteur = '29' AND t_maison.idx_secteur = '30' AND t_maison.idx_secteur = '31' AND t_maison.idx_secteur = '32' AND t_maison.idx_secteur = '33' AND t_maison.idx_secteur = '34' AND t_maison.idx_secteur = '35' AND t_maison.nbre_pieces = ".$nbre_pieces." AND t_maison.no_asp = ".$reference." AND t_maison.prix >= ".$prix_mini." AND t_maison.prix <= ".$prix_maxi."" );
- }
- elseif ($secteur == 'littoral')
- {
- $reponse = mysql_query("SELECT photo1, type, secteur, categorie, no_asp, prix, cp_internet, ville_internet, nb_chambres, surf_hab, surf_terrain FROM t_type, t_secteur, t_maison, t_categorie WHERE t_type.type = ".$type_bien." AND t_maison.idx_type_offre = t_type.id_type_offre AND t_maison.idx_secteur = '3' AND t_maison.idx_secteur = '4' AND t_maison.idx_secteur = '5' AND t_maison.nbre_pieces = ".$nbre_pieces." AND t_maison.no_asp = ".$reference." AND t_maison.prix >= ".$prix_mini." AND t_maison.prix <= ".$prix_maxi."" );
- }
- elseif ($secteur == 'limitrophes')
- {
- $reponse = mysql_query("SELECT photo1, type, secteur, categorie, no_asp, prix, cp_internet, ville_internet, nb_chambres, surf_hab, surf_terrain FROM t_type, t_secteur, t_maison, t_categorie WHERE t_type.type = ".$type_bien." AND t_maison.idx_type_offre = t_type.id_type_offre AND t_maison.idx_secteur = '8' AND t_maison.idx_secteur = '12' AND t_maison.idx_secteur = '15' AND t_maison.idx_secteur = '18' AND t_maison.idx_secteur = '25' AND t_maison.idx_secteur = '27' AND t_maison.nbre_pieces = ".$nbre_pieces." AND t_maison.no_asp = ".$reference." AND t_maison.prix >= ".$prix_mini." AND t_maison.prix <= ".$prix_maxi."" );
- }
- $query_final = $query.$secteur; echo $query_final; // Ptite vérif ici
- $reponse = mysql_query($query_final);
- while ($donnees = mysql_fetch_array($reponse) )
- {
- ?>
- <table>
- <tr>
- <td>
- <p><a href="detail_appart.php?id=<?php echo $donnees['no_asp']; ?>"><img src="<?php echo $donnees['photo1']; ?>" alt="Photo" /></a></p>
- </td>
- <td width="390">
- Référence: <?php echo $donnees['no_asp']; ?><br />
- Catégorie: <?php echo $donnees['categorie']; ?><br />
- Localisation: <?php echo $donnees['ville_internet']; ?><br />
- Surface habitable: <?php echo $donnees['surf_hab']; ?> m²
- Surface terrain: <?php echo $donnees['surf_terrain']; ?> m²<br />
- Nombre de pièces: <?php echo $donnees['nb_chambres']; ?><br />
- Prix: <?php echo $donnees['prix']; ?> <br />
- </td>
- <td>
- </td>
- </tr>
- </table>
- <?php
- }
- mysql_close(); // Déconnexion de MySQL
- ?>
|
Il manquait un dernier IF apres ton dernier else (ton erreur vient ptet de là)
Ensuite vu que tes requêtes à part 2/3 params sont identiques (à moins que j'ai mal luà il est inutile de les réécrire 40 fois, parceque si tu changes un nom de champ tu es obligé de le modifier partout etc etc
Donc la en fait il suffit de modifier les seuls paramètres qui changent (à savoir les secteurs) et de le concaténer à la fin de ta requête (je l'ai fait pour le 1er if je te laisse faire la suite ) |