> 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
32,29 €Mini scie circulaire TECCPO 580W à 32,29 €
59,99 € -46%

Amazon fait une promotion sur la mini scie circulaire TECCPO 580W (profondeur de coupe réglable, max 27 mm) à 32,29 € au lieu de 59,99 €. La scie est livrée avec un adaptateur pour aspirateur, trois lames 85 mm (24 dents pour le bois, 44 dents pour métal et plastique et diamant pour couper du carrelage), un guide parallèle et une clé allen.


Voir l'offre
59,99 €Microsoft Office 365 Famille (6 utilisateurs) + McAfee 2022 (6 appareils) pendant 15 mois à 59,99 €
120 € -50%

Amazon fait une belle promotion sur un pack comprenant Microsoft Office 365 Famille (15 mois pour 6 utilisateurs) et 15 mois d'antivirus McAfee (6 appareils) à 59,99 € au lieu de 120 €.

Vous pourrez ainsi utiliser pendant 15 mois Word, Excel, PowerPoint, Outlook et OneNote sur 6 PC ou Mac ainsi que 1 To de stockage en ligne OneDrive par personne (6x1 To) pour sauvegarder automatiquement vos photos et vos dossiers.

L'antivirus McAfee 2022 valable pour 6 appareils vous permettra quant à lui d'assurer une protection contre tous les types de menaces en ligne, ainsi que les malwares ou spywares.


Voir l'offre
19,99 €Lot de 2 prises connectées Wi-Fi TP-Link Tapo P100 à 19,99 €
27,90 € -28%

Amazon fait une promotion sur le lot de 2 prises connectées Wi-Fi TP-Link Tapo P100 qui passe à 19,99 € alors qu'on le trouve habituellement autour de 27,90 €. Ces  prises peuvent être contrôlées à distance en utilisant l'app gratuite Tapo sur votre smartphone (iOS ou Android). Vous pouvez créer des planifications horaires pour allumer ou éteindre automatiquement et quand vous le souhaitez, l'appareil qui y est branché. Vous pourrez même contrôler les prises via des commandes vocales avec Alexa ou Google Assistant.


Voir l'offre
109,99 €SSD Crucial P5 Plus 1 To (3D NAND, NVMe, PCIe 4.0, M.2, 6600 Mo/s) à 109,99 €
160 € -31%

Amazon fait une belle promotion sur le SSD Crucial P5 Plus 1 To (3D NAND, NVMe, PCIe 4.0, M.2) qui passe à 109,99 € livré gratuitement. On le trouve ailleurs à partir de 160 €. Ce SSD offre des vitesses de lecture/écriture séquentielle allant jusqu’à 6600/ 3 000 Mo/s. Il est garanti 5 ans.

Cette version Plus est compatible PCIe 4.0. Vous pouvez donc aussi l'utiliser avec la console de jeux PS5.


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