仅回显可用的数据库结果

时间:2012-11-01 16:58:40

标签: php

我有这个关联数组:

$Fields = array("row0"=>"Yahoo ID", "row1"=>"MSN ID", "row2"=> "Gtalk ID");

另一方面,我有这个SQL查询:

SELECT YahooID, MSNID, GTalkID From UserTable WHERE Username = '$Username' LIMIT 1;

结果可能会有所不同,因为有些用户只有雅虎ID而有些用户有其他用户。例如,如果我有这个结果:

$row[0] = NONE //means YahooID = NONE
$row[1] = example@msn.com
$row[2] = example@gmail.com

然后如何将其作为输出(echo):

MSN ID = example@msn.com

Gtalk ID = example@gmail.com

由于Yahoo ID不存在,那么结果将只是MSN和Gtalk。 “MSN ID”和“Gtalk ID”可以从关联数组中变化,而“example@msn.com”和“example@gmail.com”来自SQL结果。

谢谢!

1 个答案:

答案 0 :(得分:1)

$Fields = array();
while ($row = $result->fetch_assoc()) {
    if (! empty($row[0])) $Fields['MSN ID'] = $row[0];
    if (! empty($row[1])) $Fields['GTalk ID'] = $row[1];
    if (! empty($row[2])) $Fields['Yahoo ID'] = $row[2];
}

foreach ($Fields as $k => $v)
{
    echo "$k = $v" . PHP_EOL;
}