Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过查询传递值(PHP/MySQL)_Php_Mysql - Fatal编程技术网

通过查询传递值(PHP/MySQL)

通过查询传递值(PHP/MySQL),php,mysql,Php,Mysql,下面的查询只是来自三个不同网站的查询的集合,它们链接在一起形成第四个网站中的单个查询 它工作得很好,但我需要弄清楚如何维护每个子查询的标识。例如,如果脚本显示了表calendar_gw中的一些数据,我想知道这些数据最初与网站GeoWorld(gw)关联。然后,我可以修改内容/显示,或者只是添加一个注释“来自GeoWorld的数据” 我认为显而易见的解决办法是简单地使用一个别名,就像这样 CGZ.Brief AS GZ_Brief 然后我可以进入while循环并插入如下内容之一 $Brief =

下面的查询只是来自三个不同网站的查询的集合,它们链接在一起形成第四个网站中的单个查询

它工作得很好,但我需要弄清楚如何维护每个子查询的标识。例如,如果脚本显示了表calendar_gw中的一些数据,我想知道这些数据最初与网站GeoWorld(gw)关联。然后,我可以修改内容/显示,或者只是添加一个注释“来自GeoWorld的数据”

我认为显而易见的解决办法是简单地使用一个别名,就像这样

CGZ.Brief AS GZ_Brief
然后我可以进入while循环并插入如下内容之一

$Brief = $row['GZ_Brief];
$Brief = $row['CGZ.GZ_Brief];
$Brief = $row['CGZ_Brief];  
但这些对我不起作用。另一个可能更好的解决方案是创建一个PHP开关,以某种方式将网站与输出关联起来

switch($Brief)
{
 case 'CGZ_Brief':
 $MySiteID = 'GW';
 break;
 default:
 break;
}
有人能告诉我如何完成我想做的事情吗?(顺便说一下,$MyURL的值只是一个页面URL,就像URL MySite/Calendar/May_1中的May_1。)


为什么不添加一个静态值呢

$stm = $pdo->prepare("SELECT 'CGW' AS Site, CGW.N, CGW.URL, CGW.Date, CGW.Year, CGW.Brief
 FROM calendar_gw CGW
 WHERE CGW.URL = :MyURL
 UNION ALL
 SELECT 'CGZ' AS Site, CGZ.N, CGZ.URL, CGZ.Date, CGZ.Year, CGZ.Brief
 FROM calendar_gz CGZ
 WHERE CGZ.URL = :MyURL
 UNION ALL
 SELECT 'CSL' AS Site, CSL.N, CSL.URL, CSL.Date, CSL.Year, CSL.Brief
 FROM calendar_sl CSL
 WHERE CSL.URL = :MyURL
 ORDER BY Year");
$stm = $pdo->prepare("SELECT 'CGW' AS Site, CGW.N, CGW.URL, CGW.Date, CGW.Year, CGW.Brief
 FROM calendar_gw CGW
 WHERE CGW.URL = :MyURL
 UNION ALL
 SELECT 'CGZ' AS Site, CGZ.N, CGZ.URL, CGZ.Date, CGZ.Year, CGZ.Brief
 FROM calendar_gz CGZ
 WHERE CGZ.URL = :MyURL
 UNION ALL
 SELECT 'CSL' AS Site, CSL.N, CSL.URL, CSL.Date, CSL.Year, CSL.Brief
 FROM calendar_sl CSL
 WHERE CSL.URL = :MyURL
 ORDER BY Year");