如何在if条件下使用数组

时间:2014-10-07 00:32:30

标签: php mysql arrays

我正在寻找一些帮助来实现这一过程的自动化。

这是我的整页代码。 http://www.privatepaste.com/65bbd73d3b 对不起,我使用了privatepaste,但是通过在每个面前放置4行来为我编写很好的代码(如果有快速的方法,请告诉我下一个SO问题!)

基本上,如果你看第53行,我就有了这个。

$checkdonors = mysql_query("SELECT userid FROM user WHERE membergroupids LIKE '%33'");

我试图这样做,以便检查用户ID的membergroupids字段是否包含33,它检查是否正常。但是,我想将它添加到if条件,如第77行所示。

<td <?php if ($tuserid==$checkdonors) { ?> style="background-color:#D0F2CD;" <?php } elseif ($tids=='1' AND $toonid==$tid) { ?> style="background-color:#FFD2F9; <?php } ?>">

因为,在下一个td,我有......

<td <?php if ($tuserid=='602' || $tuserid=='232' || $tuserid=='200' || $tuserid=='563' || $tuserid=='532') { ?>

这5个用户ID(602,232,200,563,532)是我在membergroupids 33中的用户,但我必须手动完成。

我想自动完成此过程,因此我不需要添加新的$ tuserid ==&#39; userid&#39;每次将成员添加到membergroupids&#39; 33&#39;

我该怎么做?

非常感谢你。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你可以这样做:

// You could gather all of those ids first
$donors = array();
$checkdonors = mysql_query("SELECT userid FROM user WHERE membergroupids LIKE '%33'");
while($r = mysql_fetch_assoc($checkdonors)) {
    $donors[] = $r['userid'];
}

这样当你进入另一个循环时。您可以使用in_array()

if(in_array($tuserid, $donors)) {
    // if that current id in the current loop is one of those donors
    // do something
}

旁注:如果可能的话,切换到更好的mysql扩展名mysqli或使用PDO。