php - 创建字段数组然后循环遍历 PHP 中的集合

标签 php mysql

我想简化我的应用构建查询和循环结果的方式。大多数实际代码都有效,除了 PHP 不显示从我的查询中获取的所有结果。

前言:前面的示例代码,请勿在生产中使用。

首先我构建查询。

$arr_fields = array('color', 'number', 'size');
$select_fields = implode(', ', $arr_fields);
$q = "SELECT $select_fields FROM supplychain";

现在我执行查询然后遍历结果集。
专业提示:不要将此代码用于任何重要的事情 - 它仅用于演示目的。

echo "<table>";
    $res = doQuery($q);

    // create report body
    foreach($res as $r)
    {

         // set values from array of field names
         $row_fields = '';
         foreach ($arr_fields as $f)
         {
            // set current $arr_field value inside a table cell...
            $row_fields.= "<td>$r[$f]</td>";
         }

         // display the row
         echo "<tr>$row_fields</tr>";

    }
echo "</table>";

$arr_fields 中的第一个数据库值(color)按预期输出,其余的则没有。

在 MySQL 控制台发出的组合查询显示了 color、number 和 size 的值。脚本没有生成任何 SQL 错误。

为什么 PHP 显示第一个字段的值而跳过其他两个?

最佳答案

问题原来是我数组中每个字段名前的空格(上面的示例中未显示)。

字段数组实际上是

$arr_fields = array('color', ' number', ' size');

一旦我删除了空格,值就会照常显示。感谢 Norbert 通过额外的测试帮助我指明了正确的方向。

关于php - 创建字段数组然后循环遍历 PHP 中的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44810748/

相关文章:

MySQL导出-日志表的导入/部分同步(完全导出,在现有表中导入)

c# - C#从数据库中获取值

php - 当文本区域包含原始 html(输入类型复选框)时,表单中出现 406 Not Acceptable 错误

从两个表中选择 PHP

php - YouTube PHP API: session 状态与NULL字符串(10) “1494600193”不匹配

PHP 警告 : exec(): Unable to fork

javascript - 使用计数器和不同数据重新加载页面的一般原则

MySql 转换为 DECIMAL(8,2) 不起作用

mysql - SSRL 表达式抛出错误

MySQL进入输出文件错误