我使用此查询来显示歌曲列表并显示哪些歌曲已被用户点击为收藏夹。加入查询返回奇数结果
$query = mysql_query(
sprintf("
SELECT
s.*,
UNIX_TIMESTAMP(`date`) AS `date`,
f.userid as favoritehash
FROM
songs s
LEFT JOIN
favorites f
ON
f.favorite = s.id
AND f.userid = %s",
$userhash)
);
的songs
表被设置为:id artist title duration
等等,等等
favorites
的表是设置为:id favorite userid
的userid
是存储在cookie中的哈希值来引用一个唯一的用户。
查询工作正常,但由于某种原因,如果我在一个浏览器中将歌曲标记为最爱。然后在另一个浏览器中将同一首歌曲标记为收藏夹,以模拟多个用户,这首歌曲将显示两次...每次一次它被标记为最喜欢的,但最喜欢的指示符仍然正确显示< 3。
任何想法?
好了,它通过removign sprintf()工作,但好奇地知道为什么这是如果任何人有任何想法。
我实际上删除了整个sprintf部分,它似乎工作完美。 – ian 2009-07-14 12:49:03