Vérifier le contenu de $array_tracking (var_dump($array_tracking))
Vérifier que la requête sql ne retourne pas d'erreur
(je connais pas la gestion des erreurs via PDO, paramétrer lors de la connexion le déclenchement d'une exception)
Afficher le contenu de la requête pour la tester avec un client mysql ou phpmyadmin.
Il faudrait mettre les OR entre parenthèse par rapport au AND : "OR" comme "+" et "AND" comme "x"
Je te laisse réfléchir à ca pour faire la clause where :
foreach ($array_tracking as $test) {
$cond[] = "tracking_url LIKE '%" . $test . "%'"; // créer un tableau avec les conditions like quelque soit le nombre
}
if (count($array_tracking)==0) {
$condition = "WHERE paiement != 0"; // pas de like
} else {
$condition = " WHERE paiement != 0 AND (".implode(' OR ',$cond).') "; // joindre les clauses par des or et mettre l'autre condition
}
(en espérant ne pas avoir fait d'erreur de quote ou d'espace).