我试图生成用户参加的事件列表。我所要做的就是搜索列并使用LIKE将用户标识与存储在每列中的名称进行比较。使用LIKE子句的sql:php
现在我有两个不同的事件存储在我的数据库中进行测试,每个事件都有一个唯一的eventID。我使用的登录用户正在参加这两个事件,但它只显示eventID1而不是eventID1和eventID2。
用户名存储在由“〜”分隔的名为acceptedInvites的列中。所以现在它显示用户参加的“1〜2”。我可以使用%像%来拉这些事件吗?
$userid = $_SESSION['userid'];
echo "<h2>My Events</h2>";
$myEvents = mysql_query("select eventID from events where acceptedInvites LIKE '%$userid%' ");
$fetch = mysql_fetch_array($myEvents);
foreach($fetch as $eventsAttending){
echo $eventsAttending['eventID'];
}
我的输出就是11,当它应该是12
您应该*将数据库架构规范化为跨表的常见一对多关系或可能的多对多关系。这会使这个问题变得更容易。 – deceze 2012-02-12 02:23:22