我試圖生成用戶參加的事件列表。我所要做的就是搜索列並使用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