-1

这让我很困惑。例如,我在 MySQL的表中有一条记录。

     | name | pizza |  burger | fries |  sundae  |
   1 | boo  |   0   |    0    |   1   |    2     |

要手动打印此表:

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM yes WHERE name = 'boo' ");

while($row = mysql_fetch_array( $result ))
{
    echo $row['name'];
    echo "<br />";
    echo $row['fries'];
    echo $row['sundae'];
}

所以,我知道只有薯条会有一个非零值,所以它是我回应的唯一列值。有没有办法在不手动回显列的情况下遍历查询中的所有列?

例如,如果我有 100 种食物,而只有 69 种有非零值,这是否意味着我必须一一回显循环中的所有列?

理想情况下,我希望 PHP 仅显示名称和订购的具有非零值的食品。

输出将类似于 Boo,您订购了 1 个薯条、2 个圣代、n 个食物,等等。

使用 MySQL 和 PHP。

4

1 回答 1

0

你为什么不试试这个。希望它有所帮助。

请注意,房间是列名宿舍是表名

<?php

$query = "SELECT rooms FROM dorm";
$result = mysql_query($query);
$get_data = mysql_fetch_array($result);
while (list($column_name, $column_value) = each($get_data)) {
    if ($column_value != 0) {
        echo $column_name; //Outputs Column name
        echo $column_value; //Outputs Column Value
    }
}

?>
于 2013-02-24T02:59:24.827 回答