Bonjour, j'ai un problème avec une requete au niveau de la concaténation : ma requête permet de chercher dans la bdd a partir d'une barre de recherche des articles selon leur id_art et leur num_serie.
Cependant la recherche fonctionne pour trouver les articles selon l'un ou l'autre mais pas avec les deux en même temps et séparés par un "-"
Par exemple : pour trouver l'article 66666-01 ; je tape sois 66666 soit 01 mais je veux pouvoir taper 66666-01.
PS: aucune erreur ne s'affiche mais aucun résultat n'est trouvé
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
22
23
24
25
26
27
28
29
30
31
32
33 public static function findAllByIdArt($id){ $id='%'.$id.'%'; $c=base::getConnection(); $query=$c->prepare("select * from outillage where (id_art like :num_serie) or (num_serie like :num_serie) or (CONCAT(id_art,'-',num_serie) LIKE CONCAT(:id_art,'-',:num_serie))"); $query->bindParam(':num_serie',$id,PDO::PARAM_INT); $query->bindParam(':id_art',$id,PDO::PARAM_INT); $dbres=$query->execute(); $d=$query->fetchAll(); $tab=array(); foreach ($d as $key => $value) { $a=new Outillage(); $a->id=$value['id']; $a->num_serie=$value['num_serie']; $a->id_art=$value['id_art']; $a->article=$value['article']; $a->id_doc=$value['id_doc']; $a->document=$value['document']; $a->ilot=$value['ilot']; $a->emplacement=$value['emplacement']; $a->liste_tubes=$value['liste_tubes']; $a->image=$value['image']; $a->image2=$value['image2']; $a->image3=$value['image3']; $a->image4=$value['image4']; $a->image5=$value['image5']; $a->nb_utilisation=$value['nb_utilisation']; $a->conforme=$value['conforme']; $a->dateNonConfo=$value['dateNonConfo']; $tab[]=$a; } return $tab; }
Partager