【问题标题】:Make PHP Array From Dynamic Number of Columns Queried根据查询的动态列数制作 PHP 数组
【发布时间】:2019-02-12 00:35:21
【问题描述】:

我有一个查询,它将 MySQL 表中一系列 ID 的项目行转换为列,因此结果具有可变数量的列 (VC)。唯一不是动态的项目是 ID、FirstName、LastName。我知道变量项 (n) 的数量,这是查询的一部分。

我想要做的是在 PHP 内部有一个循环,同时将这些变量列添加到 PHP 数组中。

类似这样的:

$someArray = [];

while($row = $result -> fetch_assoc()) {

array_push($someArray,[ 

  'ID' => $row['EmployeeID'],
  'FName' => $row['FName'],
  'MName' => $row['MName'],
  'LName' => $row['LName'],

-------Loop here --------
  'VC1' => $row['VC1'],
  'VC2' => $row['VC2'],
  'VC3' => $row['VC3'],
  'VC4' => $row['VC4'],
  'VC5' => $row['VC5'],
  ..............
  'VCn' => $row['VCn']
-------------------------

]);
}

我尝试了 PHP 循环,但不知道该怎么做。 提前感谢您的帮助。

【问题讨论】:

  • 向我们展示查询,这听起来有点奇怪,所以它可以帮助我们理解问题

标签: php mysql arrays dynamic


【解决方案1】:

如果你知道n,你可以使用 for 循环:

for($i = 1;$i <= $n; $i++) {
    $key = "VC" .$i;
    $someArray[$key] = $row[$key];
}

但是,如果您将整个数组推入其中可能会更好地修改您的 SQL 查询并执行以下操作:

while($row = $result -> fetch_assoc())
    array_push($someArray, $row)

【讨论】:

  • 未定义常量n,改为$n
  • 谢谢,在我看到你编辑的答案后它就可以工作了。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2018-04-01
  • 2021-04-27
  • 1970-01-01
  • 2015-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-13
相关资源
最近更新 更多