我一直在绞尽脑汁寻找这个非常简单问题的答案。
我有两个带有数据的表。第一个表包含一组类别及其ID。第二个表包含一组可以链接到每个类别的帖子。现在,我需要选择每个类别中的帖子,但是它不能按我期望的方式工作。我尝试使用IN运算符,但它适用于行中的第一个值,而不适用于其余的值。
这是表格的大致结构
类别行结构:
+===================+
| cID | cName |
+===================+
| 1 | cars |
| 2 | trucks |
| 3 | kittens |
| 4 | quads |
+===================+
帖子结构:
+==========================================+
| pID | title | content | cats |
+==========================================+
| 1 | a post 1 | text here | 1,3,4 |
| 2 | a post 2 | text here | 2,3,4 |
| 3 | a post 3 | text here | 1,4 |
| 4 | something | text here | 2 |
+==========================================+
当我访问cars
类别的页面时,它会运行与此类似的查询
$showFrom = 1; // THE cID of the Cars category
query_function("SELECT .. FROM entries WHERE cats IN (?)", array($showFrom));
// Query function just prepares the statement and passes the variables to the function
使用此功能,我看到a post 1
和a post 3
出现了。大。但是,如果我转到“小猫”或“四边形”页面,则看不到这些帖子。它在第一和第三项中的1以及第二和第四项中的2之后停止读取。
我考虑过使用CONTAINS函数,但是如果它们具有9个以上的类别,而您访问类别1,您将看到类别10和11,依此类推,因为它们将包含字面值1,对吗?还是我在这里想念东西?
谢谢