使用SQL中的Select AS语法使用数组和循环



我正在从mySQL数据库中生成html的表格,因此可以在网页上显示存储的数据,并最终将其下载为电子表格。

我有大量的SQL标头(可能是错误的名称),也就是说任何给定列的"标题"。

我正在使用select通过PDO从mySQL获取数据:

           $sql ="
             SELECT     
            `sv_20`  AS `Name`,
            `sv_21`  AS `Age`,
            `sv_22`  AS `Height`,
            `sv_23`  AS `Weight`,
            ...
            ...
            `sv_999`  AS `Something`
        FROM 
            database.table";

在PHP中,我将定义两个阵列(数据库标题和我希望拥有的标题),然后写一个foreach循环说:

 foreach(array_combine($headers, $titles) as $header => $title)
 {
 echo "`$header`  AS `$title`,";
 }

哪个会给我全套电话,在查询数据库时是否有办法在SQL中进行此操作?谢谢

它是基本的字符串操作,而不是echo,您想用$sql .=

将其附加到字符串

最后一项之后您会遇到额外逗号的问题,最好是

$sql = array();
foreach(....)
    $sql[] = "`$header`  AS `$title`";

然后做一个join(',', $sql);

最新更新