基本上我正在为我的论坛的用户构建一个汽车奖励系统。 它的作用是检查它们是否符合该奖项IE帖子,因果报应等.... 的准则允许成员自主的问题,如果他们满足此条件..如何检查一个查询是否存在多个值
的一个问题,我面对的是我喜欢查询MySQL数据库一次,并对每个奖项进行多次检查,看看他们是否已经拥有它。 如果不允许他们通过单击按钮自行颁发奖励。
这里是我迄今为止
//Query Member Awards DB to check if we already have this Award
$query2 = $smcFunc['db_query']('', '
SELECT id_award, id_member
FROM {db_prefix}awards_members
WHERE id_member = {int:id_prof}',
array(
'id_prof' => $user_info['id'],
)
);
$info2 = $smcFunc['db_fetch_assoc']($query2);
echo $info2['id_award'];
if ($info2['id_award'] == '27')
echo 'exists';
我的表看起来像这样
uniq_id id_award id_member date_received favorite
44 29 1 2011-11-02 1
31 21 1 2011-11-02 0
41 32 1 2011-11-02 0
43 27 1 2011-11-02 0
34 18 1 2011-11-02 0
35 38 1 2011-11-02 1
39 31 1 2011-11-02 0
40 30 1 2011-11-02 1
现在基本上下面我将有一堆都具有不同的ID的 奖我想是─能够说如果存在不显示一个按钮.. 现在这将是很好,如果只有一个奖项检查,但我需要检查几个奖项。
我不想使用where子句进行多个查询,看看这个成员是否已经有了这个奖项。
是否有这样做,所以我只需要一个查询,并可以检查多个奖项的一个简单的方法..
if ($info2['id_award'] == '1')
echo 'exists';
if ($info2['id_award'] == '2')
echo 'exists';
等等
我在待办事项的最佳方式很疑惑。 任何帮助将是惊人的。
编辑:
呀基本上它会看起来像这样..我将使用AJAX提交数据..
if ($info2['id_award'] != '27') && ($info['karma_good'] >= '100') {
echo '
<form id="karma_god" method="post">
<input type="hidden" id="recipient_to" name="recipient_to" value="' . $info['id_member'] . '" size="32" />
<input type="hidden" id="award" name="award" value="28" size="32" />
<input type="hidden" id="year" name="year" value="' . date('Y') . '" size="32" />
<input type="hidden" id="month" name="month" value="' . date('n') . '" size="32" />
<input type="hidden" id="day" name="day" value="' . date('d') . '" size="32" />
<span>You have above 100 Karma! A New Award Awaits. </span><button class="button"> <img src="http://www.uniquez-home.com/awards/28.gif" alt="" style="vertical-align:bottom;"> Karma God </button>
</form>';
而且显然是多了一些奖励2这一项下..
这似乎是最好的解决方案也是最快的。 你可以给我一个如何将它们全部放入数组的例子吗? –
@ oOo - STAR - oOo我已经给了你一个。如果你有一些用于运行mysql查询的自定义函数/包装器,你应该共享它,以便我可以根据这个包装器调整代码。 – Shef
这将工作..非常感谢你..我将要测试这种方法和in子句方法..我今天学到了新东西XD –