我有几列,我想变成一个表,其中的值作为它所属的行。例:
在我的表中,我有 4 列名为 column1 column2 column3 column4
.这些列只有 1 行可以找到。如SELECT column1, column2, column3, column4 FROM operations WHERE active = '1'
它找到的行看起来像这样(有列)
column1 | column2 | column3 | column4
_____________________________________
3456 | 265 | 795 | 425
我希望它显示一个如下所示的表格:
column1 | 3456
column2 | 265
column3 | 795
column4 | 425
以下脚本有效,但它也显示我认为以某种方式与列关联的数字的随机列表。
function oreAmount() {
$sql = mysqli_query($this->con, "SELECT `column1`,`column2`,`column3`,`column4` FROM operations WHERE active = '1'");
while ($row = mysqli_fetch_array($sql)) {
$rows[] = $row;
foreach ($row as $key => $var) {
echo "<tr><td>$key</td><td>$var</td></tr>";
}
}
}
此函数显示以下内容:
0 | 3456
column1 | 3456
1 | 265
column2 | 265
2 | 795
column3 | 795
3 | 425
column4 | 425
我不确定为什么或这些数字来自哪里,我需要删除它们。
你应该使用mysqli_fetch_assoc
而不是mysqli_fetch_array
。
解释
mysqli_fetch_array
总是返回具有两种索引的结果。
- MYSQLI_NUM(数字键中的索引)
- MYSQLI_ASSOC(关联名称中的索引)
因此,要么传递参数,要检索结果,例如
mysqli_fetch_array($result,MYSQLI_ASSOC)
.
或简单使用
mysqli_fetch_assoc
使用 mysqli_fetch_assoc
代替mysqli_fetch_array
它将获取结果行作为关联数组
完整描述在这里
尝试使用
mysqli_fetch_assoc($sql)
这样你只会得到列名
http://php.net/manual/en/mysqli-result.fetch-assoc.php