Mysql和PHP选择并显示列

Mysql和PHP选择并显示列,php,mysql,rows,displayobject,Php,Mysql,Rows,Displayobject,这就是问题所在。我需要显示PJ1到PJ8的字段,但只是同一行。每一行都是一个不同的帐户。那么,我如何获取字段的内容并像这样显示它们: 账户一:PJ1 账户一:PJ2 帐户一:PJ3 不是这样的: 账户一:PJ1 账户二:PJ1 账户三:PJ1 这是桌子的结构 非常感谢。使用UNION SELECT * FROM ( SELECT account_num, PJ1 FROM table UNION SELECT account_num, PJ2 F

这就是问题所在。我需要显示PJ1到PJ8的字段,但只是同一行。每一行都是一个不同的帐户。那么,我如何获取字段的内容并像这样显示它们:

  • 账户一:PJ1
  • 账户一:PJ2
  • 帐户一:PJ3
不是这样的:

  • 账户一:PJ1
  • 账户二:PJ1
  • 账户三:PJ1
这是桌子的结构

非常感谢。

使用
UNION

SELECT * FROM (
    SELECT account_num, PJ1
    FROM table
    UNION
    SELECT account_num, PJ2
    FROM table
    UNION
    SELECT account_num, PJ3
    FROM table
    ...
)
ORDER BY account_num
$query=“从表中选择*”;
$result=mysql\u query($query);
$i=0;
while($row=mysql\u fetch\u assoc($result)
{
echo“账号:-“$i”。$row['pj1']”“
”;//您可以添加更多列 $i++; }
您需要遍历行/记录中的每个字段,而不仅仅是遍历结果中的每一行

所以你有一些大致的想法:

while ($row = mysql_fetch_row($query_result)) {
    echo $row[0];
}
但你真正想要的是:

while ($row = mysql_fetch_row($query_result)) {
    foreach ($row as $field) {
        echo $field;
    }
}

表中的帐号在哪里?这将只返回第一列。这是您需要的。
while ($row = mysql_fetch_row($query_result)) {
    foreach ($row as $field) {
        echo $field;
    }
}