Bonjour à tous!!
Voila j'ai des champs en html et je les utilise pour faire une recherche. En faites sur ma page j'ai un tableau qui est fait en fonction d'une requête sql et lorsque la personne saisie un numéro de lot comme "2015-001" le tableau ne contiendra que une ligne celle du lot "2015-001". Le problème c'est que cela ne fonctionne pas pourtant dans d'autres parties du site que j'ai fait ces champs fonctionnent.
voici le code ou je récupère les valeurs de mes champs et ma requête qui affiche tout ce qu'il y a dans ma table:
Et voici le code qui complète ma requête pour n'avoir que une seule ligne dans mon tableau:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 if(!isset($_SESSION['TAB2']) || $_GET['init'] == 1){ $tableau = array($_GET['f_numero_lot'],$_GET['f_fournisseur'],$_GET['f_numero_affaire'],$_GET['f_designation'],$_GET['f_statut'],$_GET['f_categorie'], $_GET['f_reference']); $_SESSION['TAB2'] = $tableau; } $requete1 = "SELECT DISTINCT POP_EN_COURS.ID_EN_COURS as ID_EN_COURS,CODE_SITE,NUM_ISSUS_LOT,NUM_PROJET,NUM_AFFAIRE,REFERENCE,DESIGNATION,INDICE, NOM_CATEGORIE_EN_COURS,QUANTITE_PREVU,TO_CHAR(DATE_RECEPTION_ESTIME,'DD/MM/YYYY') as DATE_RECEPTION_ESTIME,NOM_PERSONNE,TO_CHAR(DATE_CREATION_EN_COURS,'DD/MM/YYYY') as DATE_CREATION_EN_COURS, NOM_FOURNISSEUR,NUM_DA,PRIX_UNITAIRE,PRIX_TOTAL,NUM_COMMANDE,TO_CHAR(DATE_COMMANDE,'DD/MM/YYYY') as DATE_COMMANDE,TO_CHAR(DATE_PREVU,'YYYY-MM-DD') as DATE_PREVU, LABEL_ETAT_VALIDATION,COMMENTAIRE,NUM_LOT FROM POP_EN_COURS JOIN POP_SITE ON POP_EN_COURS.ID_SITE = POP_SITE.ID_SITE JOIN POP_PROJET ON POP_EN_COURS.ID_PROJET = POP_PROJET.ID_PROJET JOIN POP_DM ON POP_EN_COURS.ID_DM = POP_DM.ID_DM JOIN POP_CATEGORIE_EN_COURS ON POP_EN_COURS.ID_CATEGORIE_EN_COURS = POP_CATEGORIE_EN_COURS.ID_CATEGORIE_EN_COURS JOIN POP_PERSONNE ON POP_EN_COURS.ID_PERSONNE = POP_PERSONNE.ID_PERSONNE JOIN POP_FOURNISSEUR ON POP_EN_COURS.ID_FOURNISSEUR = POP_FOURNISSEUR.ID_FOURNISSEUR JOIN POP_ETAT_VALIDATION ON POP_EN_COURS.ID_ETAT_VALIDATION = POP_ETAT_VALIDATION.ID_ETAT_VALIDATION WHERE 1=1";
J'ai tout essayé pour la requête (juste avec LIKE ou '=' sans les '%') J'ai aussi tester ma requête et elle fonctionne. J'ai aussi testé pour voir si je récupère bien les valeurs dans mes champs et je les récupères bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if($_SESSION['TAB2'][0] != null && $_SESSION['TAB2'][0] != '0') $requete1 .= " AND UPPER(NUM_LOT) LIKE UPPER('%".$_SESSION['TAB2'][0]."%')";
j'ai par contre ma liste déroulante qui fonctionne bien et qui m'affiche la ligne que je cherche:
Donc la je bloque
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if($_SESSION['TAB2'][4] != null && $_SESSION['TAB2'][4] != 0) $requete1 .= " AND POP_ETAT_VALIDATION.ID_ETAT_VALIDATION =".$_SESSION['TAB2'][4];.
J'espère que je suis au bon endroit car je savais pas trop ou le mettre vu mon problème, si c'est pas le cas je m'en excuse.
Partager