J'ai une table mysql contenant des données d'actualités et des catégories et j'essaie de découper toutes les données dans une certaine catégorie. Je ne pensais pas assez loin à l'avance, donc je n'utilise actuellement pas une table normalisée à un moment donné, je peux revenir en arrière et réécrire cette partie pour utiliser une table normalisée.retourner tous les résultats d'une ligne mysql séparés par des virgules correspondant à une valeur
Voici ma structure de table
+---------+------------+------------+--------+----------+
| news_id | news_title | news | cat_id | date |
+---------+------------+------------+--------+----------+
| 1 | title1 | blahblah |1,2,4,6 |2009-11-24|
+---------+------------+------------+--------+----------+
| 2 | new title | text 123 | 2 |2009-01-24|
+---------+------------+------------+--------+----------+
| 3 | new title3 | text 3 | 2,19,6 |2009-02-24|
+---------+------------+------------+--------+----------+
Disons que je veux retourner tous les résultats pour la catégorie 2 Je suis en train d'utiliser cette déclaration.
$query= mysql_query("SELECT id FROM `news_data` WHERE FIND_IN_SET('" . str_replace(',',"',cat_id) OR FIND_IN_SET('",$cat_id)."',cat_id)") or die(mysql_error());
Ceci renvoie les résultats pour les identifiants 2 et 3 car ils commencent tous deux par "2". Le premier identifiant n'est pas sélectionné car "2" est la deuxième valeur. Je sais que c'est quelque chose qui ne va pas avec la déclaration mysql et j'espère que quelqu'un pourra m'aider.
Merci, Brooke
Comme toujours il y a plus d'une façon de quoi que ce soit avec la programmation. Merci à tous pour vos réponses! – BandonRandon