PHP If / Else Argument和PDO对象

时间:2013-01-02 00:22:59

标签: php if-statement pdo

如果/ else使用以下内容,我该怎么做一个参数。我想将变量$ condition定义为表A和表B的交集,最后,在这个条件为真的情况下,然后执行一些代码。

这是我的PHP(我正在尝试匹配table1.field1和table2.field1以及哪里为true,然后我将向<tr>添加一个CSS类)

$result = $dbh->query("SELECT field1, field2, field3, field4 FROM table1 ORDER BY field1 DESC");
$result->setFetchMode(PDO::FETCH_ASSOC);

$match = $dbh->query("SELECT table1.field1 FROM table1 INNER JOIN table2 WHERE table2.field1 = table1.field1");

$condition = **???????**

另外,有没有办法简化这段代码?我觉得它太长了。马克吐温有一句话......“我很抱歉这封信太长了,我没有时间把它缩短”。我希望我可以说这是相关的,但我已经在这一段时间了!任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

如何(在你的第一个也是唯一一个查询中)

$result = $dbh->query("
    SELECT
        t1.field1,
        t1.field2,
        t1.field3,
        t1.field4,
        IF(t2.field1 IS NULL, 0, 1) `match`
    FROM
    table1 t1
        LEFT JOIN table2 t2 ON t2.field1 = t1.field1
");

(你应该在`周围添加反引号(match),因为它是一个MySQL关键字)
并在你的循环中

<tr class="<?=$v["match"] ? "match" : ""?>">