2017-05-05 54 views
0

我有3个表查询,并检查是否有一个值使用相同的变量在三个表中的一个。此刻,我能想到的是用if else condition来检查。下面是例子,PHP - 简单和整洁的方式来检查是否.. else条件

if (isset($post_val)) { 
    $var= /* mysql queries table 1 */ 
} 

if (empty($var)) { 
    $var= /* mysql queries table 2 */ 

    if (empty($var)) { 
     $var= /* mysql queries table 3 */ 
    } 
} 

是否有更短或干净的方式来做到这一点。

更新代码

其实,我使用WordPress的,从是CFDB插件。我的实际代码将会是。

if (isset($vehicle_no)) { 
    $location = do_shortcode('[cfdb-value form="season parking form_copy" filter="your-platno=' . $vehicle_no . '"'); 
} 

if (empty($location)) { 
    $location = do_shortcode('[cfdb-value form="season parking form" filter="your-platno=' . $vehicle_no . '"'); 

    if (empty($location)) { 
     $location = do_shortcode('[cfdb-value form="Season Register 2017" filter="your-platno=' . $vehicle_no . '"'); 
    } 
} 
+1

也许['UNION'](https://www.tutorialspoint.com/sql/sql-unions-clause.htm)可能对你的情况有用。 –

+0

@AlexHowansky感谢您的想法和链接。将通过它看。 – Amran

+0

@AlexHowansky我更新我的问题 – Amran

回答

1

您可以将表结合在一起,然后搜索那一个。即

if (isset($post_val)) { 
     $var= /* mysql queries table 1 UNION table2 UNION table3 */ ; 
} 
+0

没有看到数据库结构以查看是否可以在带有连接的单个查询中获得三个值,UNION似乎是最佳解决方案。 – G3D

+0

@ G3D感谢您的帮助。我更新我的问题的实际代码 – Amran

相关问题