如果/ 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 = **???????**
另外,有没有办法简化这段代码?我觉得它太长了。马克吐温有一句话......“我很抱歉这封信太长了,我没有时间把它缩短”。我希望我可以说这是相关的,但我已经在这一段时间了!任何帮助将不胜感激。
答案 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" : ""?>">