Bonjour
Je suis en train de coder une page et je reçois une liste d'id et à chaque id est associé une chaîne de caractères. Pour chaque id j'accède donc à ma base de données afin de récupérer cette chaîne de caractères. Le problème c'est que certains id arrivent en double ou triple ou même quadruple et je ne souhaite afficher une chaîne de caractères qu'une seule fois.
Je concatène donc toutes les chaînes de caractères en une nouvelle chaîne de caractères et avant d'en rajouter une je vérifie qu'elle ne s'y trouve pas déjà avec la fonction stripos.
Je l'ai déjà fais pour la liste "Habitat" (voir screenshots) et ça fonctionne très bien. Pourtant avec la ligne "Evolutions" (voir screenshots) ça ne fonctionne pas à tout les coups et je ne trouve pas pourquoi.
Voici le résultat sans stripos pour la ligne "Evolutions" :
On constate que j'affiche à chaque fois la chaîne courante ainsi que la chaîne qui sera rajoutée.
Voici le résultat avec stripos pour la ligne "Evolutions" :
On constate que j'affiche à chaque fois la chaîne courante ainsi que la chaîne qui sera rajoutée et qu'une chaîne est détectée (Boardgon est ajouté une fois ça c'est bon puis la chaîne arrive encore 2 fois mais sa présence est détectée et elle n'est pas rajoutée). Le soucis c'est que la présence de Seki-Shu-Ryu n'est pas détectée ... donc la chaîne a été ajoutée 2 fois.
Et pour terminer, voici un autre tableau où la présence de "DJ Braki" a été détectée et donc la chaîne n'est pas en double dans la chaîne finale.
Voici mon code :
Comme vous le constatez, je reçois une liste d'ID et pour chaque ID je cherche la chaîne de caractères associée.
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 for($yCpt = 0; $yCpt<$nbre_lignes_resultat; $yCpt++) { try { $req9 = $pdo_Data2->prepare('SELECT name FROM s_monster WHERE type = :ID;'); $req9->bindParam(':ID', $arrAll8[$yCpt][0], PDO::PARAM_STR, 4); $req9->execute(); $arrAll9 = $req9->fetchALL(); } catch(PDOException $Exception) { echo $Exception; } echo "Chaine : ".$noms." - A chercher : ".$arrAll9[0][0]." - "; if(stripos($noms, $arrAll9[0][0]) == false) { if($noms == "") { $noms = $arrAll9[0][0]; } else { $noms = $noms.", ".$arrAll9[0][0]; } } else echo "Trouvé ------- "; }
Avez vous une idée pour résoudre mon problème ?
Merci d'avance









Répondre avec citation





Partager