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;
    }