我有这个工作很好(我是一个相对新的编码),只要有一票。如何让其他用户投票?代码below:.
SELECT
b.id,
b.image_1_file,
b.your_name,
b.your_votes,
b.image_2_file,
b.battling_with_name,
b.battling_with_votes
FROM
battles b left outer join
votes v
on
b.id = v.battle_id
where
v.battle_id is null
order by
rand()
limit 1
我试着:
SELECT
b.id,
b.image_1_file,
b.your_name,
b.your_votes,
b.image_2_file,
b.battling_with_name,
b.battling_with_votes
FROM
battles b
WHERE
b.id NOT IN (
SELECT
v.battle_id
FROM
votes v
WHERE
v.voters_id != '$myid'
)
order by
rand()
当然后者只会寻找 b.id
其他用户有一个id变量: $my_id
我不希望会员在投票后再看到这张图片。
非常感谢你的帮助,祝你有一个幸福的一天!
我的表结构是:
我的图像(投票)表:
id int(10) unsigned NO PRI auto_increment
image_1_file varchar(40) NO
image_2_file varchar(40) NO
your_name varchar(50) NO
your_votes int(10) NO 0
battlingwithname varchar(15) NO
battlingwithvotes int(10) NO 0
我的投票(投票已存储)表:
id int(10) unsigned NO PRI auto_increment
battle_id int(10) unsigned NO
vote_type tinyint(1) unsigned NO
voters_id varchar(30)
1条答案
按热度按时间fhg3lkii1#
只是使用
not in
运算符,您不必忽略已投票的投影id,因此您必须使用not in
note:another operator exist也可以使用,但我在查询中没有使用