我在MySQL中有以下表格
|Column1|Column2|Column3|
-------------------------
|Data1 |Data2 |Data3 |
|Data4 |Data5 |Data6 |
|Data7 |Data8 |Data9 |
|Data10 |Data11 |Data12 |
-------------------------
现在在这个表中,我正在使用PHP
获取所有12个单元格的列名这是我正在处理的循环。
for($i=0, $j=0; $i<$loopMax; $i++,$j++){//i run rows, j run columns
if($j>=$column_count){
$j=0;
}
$columns[$i][$j] = mysql_result($query_exec, $j, 'COLUMN_NAME');
$response[$i][$columns[$i][$j]] = @$result[$j];
}
print_r($response);
$ maxLoop 是多个列的值乘以行数。这样我就可以获得需要获取的单元格总数。我必须在json字符串中发送此响应,因此获取此单元格值及其各自的列名称非常重要,因为这将有助于UI结束识别放置哪个值的位置。 表格没有主键。
我想要做的是,获取每个单元格值及其所属的列名并将其放入数组中。并将该数组作为jason string发送。
答案 0 :(得分:2)
如果您在服务器上安装了MySQL
版本5.7.8
及更高版本,则可以在查询中使用原生JSON
函数。
SELECT JSON_OBJECT('Column1', `Column1`, 'Column2', `Column2`, 'Column3', `Column3`);
结果将是......
{ "Column1":"Data1", "Column2":"Data2", "Column3":"Data3" },
...
...
{ "Column1":"Data10", "Column2":"Data11", "Column3":"Data12" }
答案 1 :(得分:0)
尝试为您的列创建命名规则,以便您可以获得如下列名称:
$column_name = 'column' .'-' .$j
这将使用当前列名而不使用连字符:
$columns[$i][$j] = 'column' . $j
换句话说,您只需将$ j的值附加到单词&#39;列&#39;。
- 编辑: 我想您甚至可以在应用程序的前端计算列名。