배열 값을 필드 dg_id로 결합하고 mark와 cnt의 결과를 얻어야합니다. dg_id 필드 값은 고유해야합니다. 아래 내 코드를 참조하십시오
1. 배열
Array (
[0] => Array
(
[dg_id] => ht01aa
[mark] => A
[cnt] => 24653
)
[1] => Array
(
[dg_id] => ht01aa
[mark] => O
[cnt] => 149
)
[2] => Array
(
[dg_id] => ht01aa
[mark] => U
[cnt] => 198
)
[3] => Array
(
[dg_id] => ht01ab
[mark] => A
[cnt] => 19259
)
[4] => Array
(
[dg_id] => ht01ab
[mark] => O
[cnt] => 121
)
[5] => Array
(
[dg_id] => ht01ab
[mark] => U
[cnt] => 153 )
)
)
이런 식으로 출력을 얻는 방법
+--------+--------+--------+-------+
| dg_id | A | O | U |
+--------+--------+--------+-------+
| ht01aa | 24653 | 149 | 198 |
| ht01ab | 19259 | 121 | 153 |
3. 코드를 시도했습니다
$temp = '';
echo '<table cellpadding="10px">';
foreach ($status_array as $key1 => $val1) {
echo '<tr>';
foreach ($val1 as $key2 => $val2) {
if ($key2 == $status_array['dg_id'] && $temp!= $val2) {
$temp = $val2;
echo "<td><b>" . $val2 . "</b></td>";
echo '</tr>';
}
else if ($key2 == 'cnt']){
echo "<td>" . $val2 . "</td>";
}
}
echo '</tr>';
}
echo '</table>';
4. 내 현재 출력
dg_Id A O U
ht01aa 24653
149
198
ht01ab 19259
121
153
질문
$status="select concat(dg,fg,block) as dg_id, mark, count(*) as cnt from ".$table." group by 1,2 limit 15";
$status_fetch=mysql_query($status,$link1);
$status_array = array();
while ($row_status = mysql_fetch_array($status_fetch, MYSQL_ASSOC))
{
$status_array[] = $row_status;
}
그러나 적절한 해결책을 얻지 못했습니다. 누구든지이 문제를 해결하도록 도와주세요 ..
쿼리에서 배열 값을 가져온 후 for each 루프로 시작하십시오.
$result_array= Array();
foreach( $status_array as $fa )
{
$result_array[$fa["dg_id"]][($fa["mark"])] += $fa["cnt"];
}
다음을 생산하려면
Array (
[ht01aa] => Array (
[A] => 24203
[O] => 323
[U] => 474
)
[ht01ab] => Array (
[A] => 18639
[O] => 392
[U] => 502
)
)
그런 다음 각 루프마다 다른 것을 사용하여 배열 값을 테이블에 할당하십시오.
foreach ($result_array as $dg_id => $result)
{
$keyA = "A";
$keyO = "O";
$keyU = "U";
echo "<tr>
<td>{$dg_id}</td>
<td>{$result[$keyA]}</td>
<td>{$result[$keyO]}</td>
<td>{$result[$keyU]}</td>
</tr>
}
이것은 나를 위해 작동합니다 :)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다