2016-09-18 64 views
-2

早上好,大家...将两个php脚本合并为一个单独的

我想将两个php代码合并成一个,以减少php多重查询。

我的第一个PHP脚本是这样的:

上面的代码的
<?php 

include('wp-config.php'); 

$q = "SELECT CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) FROM table1 ORDER BY id DESC 
LIMIT 1;"; 
$result = mysql_query($q); 
$data = mysql_fetch_array($result); 

echo $data[0]; 

?> 

输出是象下面这样:

a1a2a3 x a x a4a5a6 

我的第二个PHP脚本是相同的第一个,不同之处在于它查询table2代替:

<?php 

include('wp-config.php'); 

            // this is different vvvvvv // 
$q = "SELECT CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) FROM table2 ORDER BY id DESC 
LIMIT 1;"; 
$result = mysql_query($q); 
$data = mysql_fetch_array($result); 

echo $data[0]; 

?> 

与输出类似:

a1a2a3 x a x a4a5a6 

现在我想上面的两个类似的PHP脚本到单个组合,我不知道如何,结果应该显示类似下面...

Name1 (any text) 
a1a2a3 x a x a4a5a6 
Name2 (any text) 
a1a2a3 x a x a4a5a6 

任何人可以帮助我为了以上述两个脚本结合 感谢

回答

0

我认为你要寻找的 “UNION ALL”:

$q = "SELECT 
      CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) 
     FROM 
      table1 
     UNION ALL 
     SELECT 
      CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) 
     FROM 
      table2 
     ORDER BY id DESC LIMIT 1" 

这都将查询的结果组合成一个结果集

0

如果你想通过再订购使用如下:

SELECT yourColumn FROM (  
SELECT CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) yourColumn FROM table1 
UNION ALL 
SELECT CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) yourColumn FROM table2) newSet 
ORDER BY yourColumn 

没有顺序:

SELECT CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) yourColumn FROM table1 
UNION ALL 
SELECT CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) yourColumn FROM table2 

或者您也可以通过订购,select id列也

SELECT id, CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) yourColumn FROM table1 
UNION ALL 
SELECT id, CONCAT(a1,a2,a3,' x ',a,' x ',a4,a5,a6) yourColumn FROM table2  
ORDER BY id