在表中显示二维php数组的值

时间:2014-09-25 14:53:21

标签: php mysql arrays multidimensional-array

我从MySQL中提取了一个名为“ $ agents ”的数组,如下所示:

Array (
  [0] => Array ( [agent] => Agent/1002 [total] => 02:11:07 )
  [1] => Array ( [agent] => Agent/1400 [total] => 01:49:53 )
  [2] => Array ( [agent] => Agent/1500 [total] => 03:26:29 ) )

然后另一个MySQL查询创建一个表:

while ($row = mysql_fetch_row($q)) {
    $result .="<tr><td>".$row[0]."</td><td align=center>".
      $row[1]."</td><td align=center>".
      $row[2]."</td><td align=center>".
      $row[3]."</td><td align=center>".$agents['0']['total']."</tr>";
}

如何从表格最后一列显示的数组中获取'total'值? 我想为每个代理插入总数。使用if语句,非常简化,如:

if $row[0] == $agents['0']['agent'] echo $agents['0']['total'] else echo 'NONE'" 

尝试使用“ foreach ”循环,但没有让它工作。 关于如何做到这一点的任何想法/建议?

1 个答案:

答案 0 :(得分:1)

您可以在第二次抓取之前初始化计数器。像这样:

$agents = holds your first data fetches from db

$i = 0; // initialize a counter
while ($row = mysql_fetch_row($q)) {

    // condition block
    if($row[0] == $agents[$i]['agent']) {
        $total = $agents[$i]['total']; // if they match, assign the total
    } else {
        $total = ''; // else just assign an empty string
    }

    $result .="
        <tr><td>".$row[0]."</td>
        <td align=center>".$row[1]."</td>
        <td align=center>".$row[2]."</td><td align=center>".$row[3]."</td>
        <td align=center>".$total."</tr>
    ";
    $i++; // increment
}