Hello

Je planche sur un outil de gestion de playlist et dans cet outil, je peux effectuer une recherche sur ce qui a été déjà joué précédemment (d'autres playlists d'avant donc).
Etant donné que cet outil sera disponible pour d'autres animateur de la radio, il m'a été soumis aussi l'idée de pouvoir chercher dans la base de données des titres de la radio.
Pour faire quelque chose d'ergonomique, je souhaite faire en sorte que pour les titres des playlists précédentes, ceux de la base de titres de la radio ne soient pas affichés (pour pas les avoir en double quoi.

Je fais donc une première requête (que je simplifie pour ici en retirant les options WHERE) pour alimenter un tableau à parti des titres playlists. La colonne 'titre" contient les informations sous la forme suivante :
artiste - titre
Voici la requête :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT LOWER(titre) AS titre
FROM playlist_playlist
GROUP BY titre
Je mets les résultats dans un tableau $titrespl_arr

Pour la base radio, je fais une deuxième requête, sachant que les informations d'artiste et de titres sont sur deux colonnes distinctes. Il faut donc que j'utilise un CONCAT.
Voici la requête :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT CONCAT(TRIM(LOWER(artist)),' - ',TRIM(LOWER(title))) AS titre
FROM songs
WHERE CONCAT(TRIM(LOWER(artist)),' - ',TRIM(LOWER(title))) NOT IN ('" . addslashes(implode(',',$titrespl_arr)) . "')
GROUP BY titre

La condition NOT IN n'a pas l'air d'être pris en compte.

Dans une playlist précédente, j'ai par exemple le titre (une fois "lowerisé") :
2 brothers on the 4th floor - heaven is here
Dans la base de la radio ,j'ai le même titre, qui est écrit pareil une fois "lowerisé", "trimé", et concaténé :
2 brothers on the 4th floor - heaven is here
Et pourtant les deux apparaissent alors que celui de la playlist seulement devrait apparaitre.
(Et fait dans le while je rempli un autre tableau avec deux valeurs à savoir titre et source, dans laquelle j'indique si le tableau est rempli par la requête sur les playlist ou sur la base radio).

Un extrait de du résultat sous format json montre bien que les deux sont affichés :
16:
titre: "2 brothers on the 4th floor - heaven is here"
source: "playlist"
17:
titre: "2 brothers on the 4th floor - heaven is here"
source: "eurodance90"
Seul le 16 devrait apparaitre.

Edit :
Si je fais une requète sur l'exemple avec ce titre :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT CONCAT(TRIM(LOWER(artist)),' - ',TRIM(LOWER(title))) AS titre
FROM songs
WHERE CONCAT(TRIM(LOWER(artist)),' - ',TRIM(LOWER(title))) != '2 brothers on the 4th floor - heaven is here'
GROUP BY titre
Le titre sort bien qu'une fois (playlist) et celui de la base radio n'est pas affiché.

Si quelqu'un a une idée de l'erreur que je fais

Merkouin !