gpt4 book ai didi

php - (PHP+MySQL) 如何在特定条件下回显列名?

转载 作者:行者123 更新时间:2023-11-29 06:41:36 24 4
gpt4 key购买 nike

我正在使用 PHP 5.4 和 MySQL 数据库。

这个数据库代表一个媒体库。我正在处理的表有一个列“标题”,其中包含明显的内容,然后是一系列 bool 列,表示该标题在给定平台上的可用性。所以一行看起来像

标题:“抑制热情:游戏”
PS4:0
雅达利 2600:1
梦想广播:0

等等。

我想用伪代码编写的 PHP 代码是

  1. 回显行[0](标题)
  2. 循环浏览行中的其他单元格
  3. 如果单元格为“0”或 NULL,则不执行任何操作
  4. 但如果单元格是“1”,则回显该列的名称

所以结果将是回显

Curb Your Enthusiasm: The Game(Atari 2600、WonderSwan、Saturn)

这是我不太明白的第四个陈述。它似乎需要函数 mysqli_fetch_field,但我不确定语法,在谷歌搜索后我尝试的任何东西都没有效果。

如果有人能提供任何建议或示例,我将不胜感激!

$database = mysqli_connect(SERVER,USERNAME,PASSWORD,'games'); 
$query = mysqli_query($database,"SELECT * FROM games` WHERE NAME LIKE '%ZELDA%'");
while ($row = mysqli_fetch_row($query)) {
echo $row[0]; // Echo title
for ($i=0;$i<sizeof($row);$i++) {
if ($row[$i] === '1') {
// ???????
}
}
}

最佳答案

这里有一些粗略的未经测试的代码,希望可以帮助您前进。

while ($row = mysqli_fetch_assoc($query)) { 
$columns = array(); // this will track the additional columns we need to display
foreach($row AS $column => $value) {
if($column == "title") {
echo $value; // this is the title, just spit it out
continue;
}

if($value == 1) {
// We have a column to display!
$columns[] = $column;
}
}
if(count($columns)) {
// We have one or more column names to display
echo " (" . implode(", ",$columns) . ")";
}
}

需要指出的几点:

  1. 使用 mysqli_fetch_assoc 将允许您访问列名和值,这在这里很有用。
  2. 首先跟踪要在数组中显示的列,这样可以更轻松地在每个循环结束时格式化输出。

关于php - (PHP+MySQL) 如何在特定条件下回显列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21172491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com