2014-09-25 2 views
1

У меня есть массив, извлеченные из MySQL называется «$ агенты», глядя, как:дисплей значение двумерного массива PHP в таблице

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>"; 
} 

Как я могу получить «общее» значение из массива, отображаемого в последнем столбце таблицы? Я хочу вставить общее количество для каждого агента. С, если заявление, очень упрощена, как:

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

Пробовал с «Еогеасп» цикла, но не получил его на работу. Любые идеи/предложения о том, как это можно сделать?

ответ

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 
} 
+0

Просто попробовал, почти там, я думаю. Изменено if ($ row [0] == $ agents [$ i] ['total']), если ($ row [0] == $ agents [$ i] ['agent']). Он заполняет общее число только для первого результата, остальные 3 строки получают пустые результаты для столбца «total». – Jompie

+0

@ Jompie oh хорошо хорошо поймать, да сделанные изменения – Ghost

+0

с этой коррекцией он работает, но только для 1-го ряда. Может быть, что-нибудь связанное с счетчиком? – Jompie

Смежные вопросы