php - 使用两个循环遍历 mysql 表

标签 php mysql loops

我在 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 端识别在何处放置哪个值。 表没有主键

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

最佳答案

如果您的服务器上安装了 MySQL 版本 5.7.8 及更高版本,那么您可以在查询中使用 native JSON 函数.

SELECT JSON_OBJECT('Column1', `Column1`, 'Column2', `Column2`, 'Column3', `Column3`);

结果会是这样的......

{ "Column1":"Data1", "Column2":"Data2", "Column3":"Data3" },
...
...
{ "Column1":"Data10", "Column2":"Data11", "Column3":"Data12" }

关于php - 使用两个循环遍历 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48012496/

相关文章:

php - 在 codeigniter 上只返回一条记录

php - 从 powershell 传递到批处理时丢失部分 url

MySQL选择发件人和收件人之间的最后一次转换消息

ruby-on-rails - 遍历字符串以根据名称字典从电子邮件中猜测名称?

vba - 使用连续数据列中的特定条件选择范围

php - 我应该如何在 PHP 的多个域之间安全地传输变量/参数?

php - 使用现有数据库设置 CakePHP

mysql - 单个 api 中的多个查询

mysql - 我正在尝试构建一个查询来搜索 mysql 中的全文索引

r - 如果for循环中发生错误,如何更改值?