Problème avec une requête SQL
zgaw_1987
Messages postés
19
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
Je suis actuellement confronté à un problème avec une requête SQL. Sur une page, un utilisateur à plusieurs champs de recherches:
-type -adresse -prix....
Ces champs ne sont pas obligatoires ! Donc par exemple un utilisateur saisi juste le "type" et clique sur recherche.
On arrive sur une autre page de résultat et là, j'aimerais faire le teste seulement sur le "type".
Merci
Je suis actuellement confronté à un problème avec une requête SQL. Sur une page, un utilisateur à plusieurs champs de recherches:
-type -adresse -prix....
Ces champs ne sont pas obligatoires ! Donc par exemple un utilisateur saisi juste le "type" et clique sur recherche.
On arrive sur une autre page de résultat et là, j'aimerais faire le teste seulement sur le "type".
Merci
A voir également:
- Problème avec une requête SQL
- Logiciel sql - Télécharger - Bases de données
- Blob sql ✓ - Forum Webmastering
- Unable to extract temporary files for microsoft sql server express 2022 - Forum SQL Server
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
3 réponses
Bonjour,
Je te suggères de construire ta requête en concaténant des chaînes de caractères, en fonction des champs remplis.
Par exemple, pour type, adresse et prix :
Voilà :)
Xavier
Je te suggères de construire ta requête en concaténant des chaînes de caractères, en fonction des champs remplis.
Par exemple, pour type, adresse et prix :
function getCritere($champ, $valeur, $operateurBooleen, $premier)
{
resultat = '';
if ($valeur != '')
{
if (!$premier)
$resultat = " $operateurBooleen ";
$resultat .= " $champ = '$valeur'";
}
return $resultat;
}
$prix = (isset($_POST['prix'])) ? $_POST['prix'] : '';
$type = (isset($_POST['type'])) ? $_POST['type'] : '';
$adresse = (isset($_POST['adresse'])) ? $_POST['adresse'] : '';
$clauseWhere = getCritere('prix', $prix, 'AND', true);
$clauseWhere .= getCritere('type', $type, 'AND', ($clauseWhere == ''));
$clauseWhere .= getCritere('adresse', $adresse, 'AND', ($clauseWhere == ''));
if ($clauseWhere != '') $clauseWhere = ' WHERE'.$clauseWhere;
$sqlQuery = "SELECT * FROM table $clauseWhere";
...
Voilà :)
Xavier
salam,
suivant votre cas, vous aurrez besoin de plusieurs requêtes SQL; chaque cas avec sa requête (en testant la disonibilité d'info dans les champs);
@+
suivant votre cas, vous aurrez besoin de plusieurs requêtes SQL; chaque cas avec sa requête (en testant la disonibilité d'info dans les champs);
@+