Php 使用两个循环从mysql表进行遍历

Php 使用两个循环从mysql表进行遍历,php,mysql,loops,Php,Mysql,Loops,我在MySQL中有下表 |Column1|Column2|Column3| ------------------------- |Data1 |Data2 |Data3 | |Data4 |Data5 |Data6 | |Data7 |Data8 |Data9 | |Data10 |Data11 |Data12 | ------------------------- 现在在这个表中,我正在使用PHP获取所有12个单元格的列名 这是我正在进行的循环 for($i=0,

我在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);
for($i=0,$j=0;$i=$column\u count){
$j=0;
}
$columns[$i][$j]=mysql\u结果($query\u exec,$j,'COLUMN\u NAME');
$response[$i][$columns[$i][$j]]=@$result[$j];
}
打印(回复);
$maxLoop是列数乘以行数的值。这样我就得到了需要提取的单元格总数。我必须以json字符串发送此响应,因此获取此单元格值及其相应的列名非常重要,因为这将帮助UI端识别将哪个值放在何处。 该表没有主键


我要做的是,获取每个单元格值及其所属的列名,并将其放入数组中。并将该数组作为jason字符串发送。

尝试为列制定命名规则,以便可以获得如下列名称:

 $column_name = 'column'  .'-' .$j
 $columns[$i][$j]  = 'column' . $j
这将适用于不带连字符的当前列名,如下所示:

 $column_name = 'column'  .'-' .$j
 $columns[$i][$j]  = 'column' . $j
换句话说,您只需将$j的值附加到单词“column”中

-编辑:
我认为您甚至可以在应用程序前端计算列名。

尝试为您的列制定命名规则,这样您就可以得到如下列名:

 $column_name = 'column'  .'-' .$j
 $columns[$i][$j]  = 'column' . $j
这将适用于不带连字符的当前列名,如下所示:

 $column_name = 'column'  .'-' .$j
 $columns[$i][$j]  = 'column' . $j
换句话说,您只需将$j的值附加到单词“column”中

-编辑:
我认为您甚至可以在应用程序前端计算列名。

如果您的服务器上安装了
MySQL
version
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" }

如果服务器上安装了
MySQL
version
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" }


你的问题不清楚。所以,投票以不清楚的方式结束,让其他人来解决。你为什么要这样构建你的数据库?@GordonLinoff编辑了我的问题,请阅读最后一段。@Lawrence我发誓如果我必须这样做,我会在那里放一个主键,然后根据它获取所有内容。但我现在不能改变它。这个项目是活的,我只能这样取。你的问题还不清楚。所以,投票以不清楚的方式结束,让其他人来解决。你为什么要这样构建你的数据库?@GordonLinoff编辑了我的问题,请阅读最后一段。@Lawrence我发誓如果我必须这样做,我会在那里放一个主键,然后根据它获取所有东西。但我现在不能改变它。这个项目是活的,我只能用这种方式来获取。太棒了+1,你应该得到+1000@AmrBerag我很高兴这有帮助。这意味着您可能有包含
JSON
函数的MySQL版本。仔细看看所有这些,我认为它们对你可能想到的很多事情都会很有帮助。我知道他们为我工作:)我们能做相反的事吗?我在文档中找不到它,有插入函数,但它也用于查询结果。@AmrBerag你的意思是如果你能使用
JSON\u OBJECT
进行
insert
是的。示例
插入mysqltable值(JSON_对象(“TextSample”,“我们的吉祥物是一只名为“Sakila”的海豚”)我希望它将被添加到MariaDB中,并且它是奇妙的+1,你应该得到它+1000@AmrBerag我很高兴这有帮助。这意味着您可能有包含
JSON
函数的MySQL版本。仔细看看所有这些,我认为它们对你可能想到的很多事情都会很有帮助。我知道他们为我工作:)我们能做相反的事吗?我在文档中找不到它,有插入函数,但它也用于查询结果。@AmrBerag你的意思是如果你能使用
JSON\u OBJECT
进行
insert
是的。示例
插入mysqltable值(JSON_对象(“TextSample”,“我们的吉祥物是一只名为“Sakila”的海豚”)我希望它将被添加到MariaDB中,并且它是防注入的