Associer plusieurs SELECT dans une table SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Associer plusieurs SELECT dans une table SQL

Re: Associer plusieurs SELECT dans une table SQL

par gexevo1 » 26 août 2010, 18:02

C'est bon j'ai enfin trouvé.
Voici le code pour ceux qui pourrait être intéressé.

Merci ouckileou, ce lien m'a bien éclairé !!!!
  $requete2 = "SELECT * FROM annonces WHERE 1=1 ";
if (empty($mot_cle) and empty($region) and empty($annee_mini) and empty($annee_maxi) and empty($prix_mini) and empty($prix_maxi)) {
  $requete2 = "SELECT * FROM annonces";} 
else {
  if (!empty($mot_cle)) {
    $requete2 .= " AND titre LIKE '%$mot_cle%'";}
  if (!empty($region)) {
    $requete2 .= " AND region='$region'";}
  if (!empty($annee_mini)) {
    $requete2 .= " AND annee >='$annee_mini'";}
  if (!empty($annee_maxi)) {
    $requete2 .= " AND annee <='$annee_maxi'";}
  if (!empty($prix_mini)) {
    $requete2 .= " AND prix >='$prix_mini'";}
  if (!empty($prix_maxi)) {
    $requete2 .= " AND prix <='$prix_maxi'";}
    
   $requete2 .= " ORDER BY id DESC LIMIT $Ndeb,$Nmax";   
  }  

Re: Associer plusieurs SELECT dans une table SQL

par gexevo » 26 août 2010, 11:34

Salut Berzemus,

Pour ce qui est de la récupérations des résultats, ça c'est bon pas de problème.

Voilà un petit extract de ma table 'annonces' qui comporte tous les résultats à rechercher.

Voilà le lien vers l'image !!!! http://www.gexevo.fr/extract_sql.JPG

Prenons un petit exemple :

Je voudrais par exemple ressortir toutes les annonces qui se trouvent en "AUVERGNE" ayant comme mot clef dans le titre "GSXR".

J'avais commencé par un
"SELECT count(*) FROM annonces WHERE titre LIKE '%$mot-cle% and region='$region''";

mais le problème c'est qu'il n'associe pas les résultats.

Re: Associer plusieurs SELECT dans une table SQL

par gexevo » 26 août 2010, 11:30

Salut Berzemus,

Pour ce qui est de la récupérations des résultats, ça c'est bon pas de problème.

Voilà un petit extract de ma table 'annonces' qui comporte tous les résultats à rechercher.

Image

Prenons un petit exemple :

Je voudrais par exemple ressortir toutes les annonces qui se trouvent en "AUVERGNE" ayant comme mot clef dans le titre "GSXR".

J'avais commencé par un
"SELECT count(*) FROM annonces WHERE titre LIKE '%$mot-cle% and region='$region''";

mais le problème c'est qu'il n'associe pas les résultats.

Re: Associer plusieurs SELECT dans une table SQL

par gexevo » 26 août 2010, 11:27

Salut Berzemus,

Pour ce qui est de la récupérations des résultats, ça c'est bon pas de problème.

Voilà un petit extract de ma table 'annonces' qui comporte tous les résultats à rechercher.

Image

Prenons un petit exemple :

Je voudrais par exemple ressortir toutes les annonces qui se trouvent en "AUVERGNE" ayant comme mot clef dans le titre "GSXR".

J'avais commencé par un
"SELECT count(*) FROM annonces WHERE titre LIKE '%$mot-cle% and region='$region''";

mais le problème c'est qu'il n'associe pas les résultats.

Re: Associer plusieurs SELECT dans une table SQL

par ouckileou » 26 août 2010, 11:08

Des exemples de ce que dit Berzemus ici: vos-contributions/requete-sql-dynamique ... eux#p24961 (dont le coup du tableau)

Re: Associer plusieurs SELECT dans une table SQL

par Berzemus » 26 août 2010, 09:06

Récuperer les résultats avec php, insérer les conditions au fur et à mesure dans un tableau, qu'on transforme en chaine ( implode() ) à la fin, pour insérer dans le "where".

Ceci dit, j'ai a peu près compris ce que tu as voulu dire, et sans doute qu'avec un peu de code, ça passeras mieux. :wink:

Associer plusieurs SELECT dans une table SQL

par gexevo » 26 août 2010, 00:53

Salut,

Ça fait trois jours que j'essaie différente combinaison SQL pour mener à bien ma requête mais là j'ai vraiment besoin de poster.

Je vous explique, la requête repose sur un site d'annonces.

Dans le FORM j'ai plusieurs conditions :

* Mot clef (<input type="text">)
* La région (<select>)
* Année Mini (<select>)
* Année Max (<select>)
* Prix Mini (<select>)
* Prix Max (<select>)
et le SUBMIT.

Comment associer les résultats et me ressortir ceux qui ont des cohérences tout en sachant qu'un champ du FORM peut rester vide.

Les résultats sont dans une seule table.

Merci de partager vos idées, je compte sur vous.

A+