Problème de barre de recherche php / requêtes SQL
JIM
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai une page internet qui contient une barre de recherche avec trois champs, les noms de produits, le mois et l'année. Ce qui permet par exemple de trouver facilement un produit en janvier 2020.
Le problème c'est que en fin de chaque recherche j'ai un petit icon permettant d'imprimer en PDF la page actuelle avec la recherche effectué. et quand j'imprime en pdf, le mois que j'ai sélectionné est bon, l'année et bonne, mais le nom de produit ne fonctionne pas.
Pour mieux me faire comprendre prenons un exemple.
Imaginons que je renseigne en nom de produit : NOD32, en mois : janvier et en année : 2020. Sur ma page j'aurais toutes mes infos bien triées et fonctionnelles mais si j'appuie sur l'impression en pdf, ça va me donner tous les produits (et pas seulement le NOD32 comme demandé) en janvier 2020 :/
Voici mon code avec mes requêtes me permettant le fonctionnement du mois et de l'année, je dois donc avoir un problème avec ma requête du nom de produit mais je n'arrive pas à savoir ce qu'il ne va pas :/
J'ai une page internet qui contient une barre de recherche avec trois champs, les noms de produits, le mois et l'année. Ce qui permet par exemple de trouver facilement un produit en janvier 2020.
Le problème c'est que en fin de chaque recherche j'ai un petit icon permettant d'imprimer en PDF la page actuelle avec la recherche effectué. et quand j'imprime en pdf, le mois que j'ai sélectionné est bon, l'année et bonne, mais le nom de produit ne fonctionne pas.
Pour mieux me faire comprendre prenons un exemple.
Imaginons que je renseigne en nom de produit : NOD32, en mois : janvier et en année : 2020. Sur ma page j'aurais toutes mes infos bien triées et fonctionnelles mais si j'appuie sur l'impression en pdf, ça va me donner tous les produits (et pas seulement le NOD32 comme demandé) en janvier 2020 :/
Voici mon code avec mes requêtes me permettant le fonctionnement du mois et de l'année, je dois donc avoir un problème avec ma requête du nom de produit mais je n'arrive pas à savoir ce qu'il ne va pas :/
if(isset($_GET['nomProduit']) AND $_GET['nomProduit']!="tous"){
$stmt = $pdo->prepare('SELECT * from licenceseset WHERE nomProduit LIKE"%'.$_GET['nomProduit'].'%" ORDER BY dateExpiration ASC');
$stmt->execute();
$resu=$stmt->fetchALL();
}
if ($_GET['moisSelec'] != "all" AND $_GET['annee'] == "ALL" ){
$stmt = $pdo->prepare('SELECT * from licenceseset WHERE MONTH(dateExpiration) = '.$_GET["moisSelec"].' ORDER BY dateExpiration ASC');
$stmt->execute();
$resu=$stmt->fetchALL();
}
if ($_GET['moisSelec'] != "all" AND $_GET['annee'] != "ALL" ){
$stmt = $pdo->prepare('SELECT * from licenceseset WHERE MONTH(dateExpiration) = '.$_GET["moisSelec"].' AND YEAR(dateExpiration) = '.$_GET["annee"].' ORDER BY dateExpiration ASC');
$stmt->execute();
$resu=$stmt->fetchALL();
}
if ($_GET['moisSelec'] == "all" AND $_GET['annee'] != "ALL" ){
$stmt = $pdo->prepare('SELECT * from licenceseset WHERE YEAR(dateExpiration) = '.$_GET["annee"].' ORDER BY dateExpiration ASC');
$stmt->execute();
$resu=$stmt->fetchALL();
}
if ($_GET['moisSelec'] == "all" AND $_GET['annee'] == "ALL" ){
$stmt = $pdo->prepare('SELECT * from licenceseset ORDER BY dateExpiration ASC');
$stmt->execute();
$resu=$stmt->fetchALL();
}
1 réponse
-
Bonjour
Il faut faire une seule requête avec les trois critères et non pas une requête pour chaque critère
-
-
Ben de la même façon que je te l'avais déjà proposé ici :
https://forums.commentcamarche.net/forum/affich-37110907-order-by-impossible-de-trier-une-liste-avec-un-order-by -
-
C'est exactement la même chose c'est d'ailleurs comme ça que j'ai retrouvé la discussion recherchons simplement les requêtes que tu avais posté à l'époque .
Je ne vais donc pas remettre ici les mêmes réponses que je t'avais déjà donné.
Si tu ne veux pas en tenir compte dis-le-moi tout de suite et je passe à autre chose et te laisse te débrouiller. -
-