目前我的数据库看起来也很相似......
ID Username Interest
04 Tommy Soccer
04 Tommy Internet
32 Jack Soccer
32 Jack Swimming
32 Jack Boxing
我的网站上有一个页面,用户可以在其中指定他/她的兴趣,并根据他们输入的内容,显示具有相同兴趣的页面。
所以如果汤米要访问我的页面并添加“拳击”作为兴趣杰克会出现,因为他在表格中列出了“拳击”。
我需要编写一个查询来执行此操作,但我不确定这样做的最佳方式,因为我仍然是PHP的新手,会有类似的内容......
mysql_query(SELECT * FROM interests_table WHERE Interest = $interest1 || $interest2 || Interest3);
答案 0 :(得分:2)
mysql_query("SELECT * FROM interests_table WHERE (Interest = $interest1 OR Interest = $interest2 OR Interest = $Interest3)");
答案 1 :(得分:1)
更短:
mysql_query("SELECT * FROM interests_table WHERE Interest IN ($interest1, $interest2, $interest3)");
当然,您需要添加必要的参数以逃避更安全的代码。
如果您想要在数组中搜索所有可能的值,则代码可能如下所示:
$interests = array('boxing', 'swimming', 'speedway');
// ... query preparation
$result = mysql_query("SELECT * FROM interests_table WHERE Interest IN (" . implode('", "', mysql_real_escape_string($interests)) . ")");
// rest of the code ...
但此代码仅对小型数据集(少数到数百)有效。如果您对列表有更多兴趣,您应该找到更有效的方法。