> Tous les forums > Forum des Webmasters
 condition dans requète SQLSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
BxG
  Posté le 26/10/2008 @ 23:48 
Aller en bas de la page 
Astucien

Bonjour a tous,

je me demandais s'il était possible d'utiliser des conditions dans des requètes sql, je m'explique:

Si je souhaite effectuer une recherche, j'ai 4 choix , on peut trier par prix, categorie, etat et plateforme. Il faut que j'affiche les resultats.

On peut choisir d'effectuer la recherche en se basant uniquement sur le prix, uniquement sur la categorie, etc... ou les deux, ou trois, enfin tout est possible.

Ce qui me fait au total 16 requètes possible.

les requètes sont plutot longues, donc je voudrais savoir comment vous vous y prendriez, s'il y avait une solution miracle ou autre.

Merci d'avance.

Publicité
fennec.
 Posté le 27/10/2008 à 12:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour,

comme solution, construit ta requête en fonction des demandes

sa fait longtemp que je n'ai plus fait de php mais sa doit donné un truc dans le genre

$query = "select ";
foreach ($ma_liste_d'atribu as atribu) {
$query += atribut;
}
$query += "from ta_table where tes_condition ";
$query += "order by (" + $choix + ") asc";

c'est du a peu près, il va faloir adapté et corrigé mes erreur
BxG
 Posté le 27/10/2008 à 12:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

ha bein oui en concatenant sa doit étre possible, je vais tenter, je posterai la réponse si cela fonctionne.

BxG
 Posté le 27/10/2008 à 15:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

C'est bon cela fonctionne avec le code qui suit:

/*-----------------------------------------------------------Si l'utilisateur effectue une recherche----------------------------------------------------*/
/**/if (isset($_POST['recherche']) && $_POST['recherche'] == 'Rechercher' ) /**/
/**/{ /**/
/**/$prix = ($_POST['prix']); /**/
/**/$plateforme = ($_POST['plateforme']); /**/
/**/$categorie = ($_POST['categorie']); /**/
/**/$etat = ($_POST['etat']); /**/
/**/} /**/
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/

/*----------------------------------------------------------Requéte pour afficher les articles---------------------------------------------------------*/
$req="SELECT num_vente, titre, prix, libelle_etat, libelle_plateforme, libelle_categorie, id_vendeur, libelle_disponibilite,login, nom_image
FROM vente, disponibilite, etat, categorie, plateforme, membre
WHERE vente.disponibilite = disponibilite.id_disponibilite
AND vente.etat=etat.id_etat AND vente.id_vendeur=membre.id
AND vente.plateforme=plateforme.id_plateforme AND vente.categorie=categorie.id_categorie
AND libelle_disponibilite != 'paye'" ;

if(!empty($plateforme)) { $req=$req.'AND plateforme="'.$plateforme.'"'; }
if(!empty($categorie)) { $req=$req.'AND categorie="'.$categorie.'"'; }
if(!empty($etat)) { $req=$req.'AND etat="'.$etat.'"'; }
if($prix =='1') { $req=$req.'ORDER BY prix asc';}
if($prix =='2') { $req=$req.'ORDER BY prix desc';}
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
77,18 €Alimentation PC modulaire EVGA SuperNOVA 650 GT 650W (80+ Gold) à 77,18 € livrée
90 € -14%

Amazon Allemagne fait une belle promotion sur l'alimentation PC modulaire EVGA SuperNOVA 650 GT 650W qui passe à 68,47 € (avec la TVA ajustée). Comptez 8,71 € pour la livraison en France soit un total de 77,18  € livrée au lieu de 90  € ailleurs €. Cette alimentation certifiée 80Plus Gold offre un rendement jusqu'à 92%. Disposant d'une conception 100% modulaire, connectez uniquement les câbles dont vous avez besoin pour économiser de la place au sein de votre tour et améliorer le flux d'air. Elle est garantie 7 ans.


Voir l'offre
4,37 €Etui de protection Orico pour disque dur externe 2.5 pouces à 4,37 €
7,99 € -45%

AliExpress propose actuellement l'étui de protection Orico pour disque dur externe 2.5 pouces à 4,37 €. Cet étui de qualité protège votre disque dur contre les dommages, les rayures et les chocs. La sangle élastique intérieure maintient le disque dur en place pendant le transport. Vous permettra en plus de glisser un câble, une clé USB ou des cartes mémoire. Différentes couleurs disponibles.


Voir l'offre
21,99 €Clé USB Sandisk Ultra Go 128 Go à double connectique USB 3.1 Type A et C à 21,99 €
32 € -31%

Cdiscount fait une promotion sur la clé USB Sandisk Ultra Go 128 Go à double connectique USB 3.1 Type A et C qui passe à 21,99 €. Cette clé USB  dispose d'un connecteur USB Type C et d'un connecteur classique de type A. Grâce à elle, transférez en toute simplicité et rapidement (jusqu'à 150 Mo/s) vos fichiers entre vos smartphones, tablettes et ordinateurs.

On la trouve ailleurs à plus de 32 €.


Voir l'offre
349,99 €Ecran 31.5 pouces LG Ultragear 32GP850-B (IPS, WQHD, 165Hz, HDR10, G-sync/FreeSync) à 349,99 €
400 € -13%

Amazon fait une promotion sur l'écran LG Ultragear 32GP850-B qui passe à 349,99 €. On le trouve ailleurs à partir de 400 €. Cet écran possède une dalle nano IPS 31.5 pouces WQHD (2560x1440) à 165 Hz, un temps de réponse de 1 ms. Il est compatible Adaptive Sync (FreeSync/GSync). Il est réglable en hauteur, possède un hub USB 3.0 et une connectique HDMIx2 et DPx1. 


Voir l'offre

Sujets relatifs
probleme de clauses dans une requete mysql
Requete Sql, afficher une seul fois dans boucle
editeur TinyMCE grande largeur texte dans page
Texte dans tableau
Bouton RSS automatique dans page annonce Google site
Résultat différent dans Google Trends et Google Keywords Planner
les caractères "é" et "à" se transforment en "?" dans les résultats Google
Aller à la ligne dans une info bulle
Changement de compteur dans site Free
Changement de compteur dans mon site Free
Plus de sujets relatifs à condition dans requète SQL
 > Tous les forums > Forum Forum des Webmasters