Rechercher : dans
Par :

[SQL] condition facultative

Dernière réponse le 8 jui 2004 à 14:57:48 chmanu, le 8 jui 2004 à 11:02:54 
 Signaler ce message aux modérateurs

Bonjour,

j'ai créé un formulaire de recherche sur ma base MySQL et j'envoie la requete suivante :

select * from mes_tables
where chp1 = saisi1,
and chp2 = saisi2
and ...

J'aimerai en fait que, lorsqueun des champs est null, que la condition ne se fasse pas (Lorsqu on passe par windev, c est automatique, seulement il me faut faire un HRequeteSansCorrection)
Est il possible de le faire en une seule requete ou faut il passer par programmation (ce qui ferai bcp de conditions : 6 criteres => 2^6 = 64 cas) ?

Merci,

Chmanu

Meilleures réponses pour « [SQL] condition facultative » dans :
[Excel] Colorer des cellules sur conditions VoirIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un...
Excel - Mises en forme conditionnelles illimitées VoirMises en Forme Conditionnelles Illimitées Introduction Principe Code Fichier joint Introduction La Mise en Forme Conditionelle (ou MFC) permet d'appliquer, à une cellule ou à plusieurs cellules sélectionnées, différents formats qui...
SQL - éviter les doublons dans un SELECT VoirProblème Comment éviter les doublons dans les résultats d'une requête SQL ? Solution Il suffit d'utiliser la clause DISTINCT entre SELECT et les champs. Exemple : SELECT distinct id,nom,prenom FROM matable Plus d'informations ...
SQL - Commande SELECT VoirLe langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la...
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...
SQL - Restriction VoirExpression des restrictions Une restriction consiste à sélectionner les lignes satisfaisant à une condition logique effectuée sur leurs attributs. En SQL, les restrictions s'expriment à l'aide de la clause WHERE suivie d'une condition logique...

1

yann, le 8 jui 2004 à 11:21:15

Une technique à utiliser et de coder tes condition en format chaine de carctere

tu teste ta reponse $_post['test']

if ($_post['test']!=null)
{
$condition .= " and test = ".$_post['test'] ;
}

tu fais tes 6 controle comme ca

pis a la fin ca te donne
$sql = "select * from blabla".$condition

ps : ne pas oublier les espace avant les and et le where

Répondre à yann

2

chmanu, le 8 jui 2004 à 11:50:47

Ok, merci.

Je suis pas en php, mais je vois ce que tu veux dire.
Ce qu il y a, c est que je voulais déclarer ma requete et pouvoir l exécuter. Par cette solution, c est pas possible, mais vu que ca n est pas indispensable (c est juste mieux pour reprendre le projet) ...
Donc, j vais faire comme ca dans un premier temps, en attendant de savoir si c'est possible.

Chmanu

Répondre à chmanu

3

 chmanu, le 8 jui 2004 à 14:57:48

Ah non, ca va pas, car il faut que la requete soit déclarée pour pouvoir lier les données du tableau aux résultats.
Il faut donc que ce soit fait purement en SQL.

Chmanu

Répondre à chmanu
Collection CommentÇaMarche.net