从SQL表获得的数组中的单个IF语句与多个IF语句


Single IF statement vs multiple IFs statements in array obtained from SQL table

我有一个表显示SQL查询的结果。

但是,对于某些特殊的行(其中SOURCE="ABC"),我希望从不同的表中检索数据。

是否最好有一个IF来检查SOURCE,然后相应地打印带有每个数据的行?还是最好在每个框中有多个if,并不断检查SOURCE="ABC",然后显示其中一个表或另一个表中的数据?

这是当前代码的一部分,国际单项体育联合会尚未实施:

<td><?php echo date("D, d M Y", strtotime($val['date'])); ?></td>
<td><?php echo $val['firstName']." ".$val['lastName']; ?></td>
<td align="center"><?php echo $val['city'].", ".$val['state']; ?></td>
<td bgcolor="<?= $bg ?>" align="center"><?php echo $val['status']; ?></td>
<td align="center"><?php echo strtoupper($val['source']); ?></td>

你好,

就结构而言(就可读性而言),它是最好的——至少我对内联的if更满意,例如:

echo $queryResult->data;
echo '</td><td>';
if($queryResult->source == 'test'){
    echo 'Get info from other DB..';
}else{
    echo $queryResult->source;
echo '</td>'

它对我来说可读性更强,因为你可以"下降";而在THEN块和ELSE块中都包含表的所有内容似乎是多余的,很难读取。

但是,您可能应该了解SQL联接和子查询(假设您使用的是SQL),这样就可以避免对源为XY的每个表行进行另一个查询。这将在不久的将来演变成一场性能灾难。

问候。