Requête SQL
Résolu
arthezius
Messages postés
3756
Statut
Membre
-
arthezius Messages postés 3756 Statut Membre -
arthezius Messages postés 3756 Statut Membre -
Bonjour,
J'ai un petit souci avec une requête SQL pour une recherche.
Je m'explique:
J'ai un <select></select> avec une liste de catégorie. Je valide pour y accéder.
J'ai donc une requête SQL correspondante. Toutefois, celle-ci dépends aussi du fait que je soit connecté ou non. Les résultats étant différent dans les deux cas.
Dans ma table, j'ai donc un champ déterminant si les résultats sont accessible ou non au simple visiteur. Le deuxième champ indique la catégorie.
Vous suivez jusque là ?
Pour le fait que je soit connecté ou non, j'ai placé une condition PHP qui me conduit sur un requête précise.
Voici le code:
Le count est juste là pour déterminer le nombre de réponse.
Ce qui m'ennuie c'est dans le deuxième cas. Quand la recherche est lancé et que je suis connecté.
Le champ visible accepte trois résultat possible:
oui, non et pri.
Le troisièmement rendant l'affichage privé. Donc seul oui et non doivent être pris en compte. Toutefois ça va pas.
Ce que je veux en fait c'est que les résultats correspondent à la recherche
visible = oui ou non et cat étant la catégorie sélectionné dans le <select></select>
Démonstration ici: http://arthezius.fr/up_img/index.php?page=liste
Merci à ceux qui pourront m'aider.
--
« La recherche commence là où s'arrête la connaissance. »
J'ai un petit souci avec une requête SQL pour une recherche.
Je m'explique:
J'ai un <select></select> avec une liste de catégorie. Je valide pour y accéder.
J'ai donc une requête SQL correspondante. Toutefois, celle-ci dépends aussi du fait que je soit connecté ou non. Les résultats étant différent dans les deux cas.
Dans ma table, j'ai donc un champ déterminant si les résultats sont accessible ou non au simple visiteur. Le deuxième champ indique la catégorie.
Vous suivez jusque là ?
Pour le fait que je soit connecté ou non, j'ai placé une condition PHP qui me conduit sur un requête précise.
Voici le code:
if(isset($_POST['cat']) && !isset($_SESSION['img_login']))
{$sql = 'SELECT count(*) FROM img_liste WHERE visible="non" AND cat="'.$_POST['cat'].'"';}
if(isset($_POST['cat']) && isset($_SESSION['img_login']))
{$sql = 'SELECT count(*) FROM img_liste WHERE cat LIKE "'.$_POST['cat'].'" AND visible="oui" OR visible="non"';}
if(isset($_SESSION['img_login']) && !isset($_POST['cat']))
{$sql = 'SELECT count(*) FROM img_liste WHERE visible="oui" OR visible="non"';}
if(!isset($_POST['cat']) && !isset($_SESSION['img_login'])){$sql = 'SELECT count(*) FROM img_liste WHERE visible="non"';}
Le count est juste là pour déterminer le nombre de réponse.
Ce qui m'ennuie c'est dans le deuxième cas. Quand la recherche est lancé et que je suis connecté.
Le champ visible accepte trois résultat possible:
oui, non et pri.
Le troisièmement rendant l'affichage privé. Donc seul oui et non doivent être pris en compte. Toutefois ça va pas.
Ce que je veux en fait c'est que les résultats correspondent à la recherche
visible = oui ou non et cat étant la catégorie sélectionné dans le <select></select>
Démonstration ici: http://arthezius.fr/up_img/index.php?page=liste
Merci à ceux qui pourront m'aider.
--
« La recherche commence là où s'arrête la connaissance. »
Configuration: Ubuntu 8.10 Intrepid Ibex :) Firefox 3.0.7
A voir également:
- 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
1 réponse
salut,
de ce que j'en ai compris, je l'écrirais comme ça :
mais il faut tester !
-;o)
de ce que j'en ai compris, je l'écrirais comme ça :
$where_clause = array();
if(isset($_POST['cat']))
$where_clause[] = 'cat="'.$_POST['cat'].'"';
if(!isset($_SESSION['img_login']))
$where_clause[] = 'visible="non"';
$sql .= 'SELECT count(*) FROM img_liste'.implode(' AND ', $where_clause).';';
mais il faut tester !
-;o)
Merci tout de même.