당신의 질문을 만드십시오. g mysql GROUPing
기능이이므로 기계적으로이 작업을 수행 할 필요가 없습니다. 그러나 어떤 이유로 든 게시 한 데이터와 모양이 같아서 루프를 통해 설명하는대로 결과를 표시하려는 결과 집합이있는 경우, 동일한 그룹의 모든 사용자를 고유 한 하위 배열로 묶은 다음 디스플레이에 대해
foreach
루프를 실행하면 행 배열을 이동할 수 있습니다. 아래 코드는 예제를 통해 방법을 보여줍니다.
<?php
// SIMULATE AN TO REPRESENT THE RECORDS FROM THE DB TABLE...
$array = array(
array(
"user_id" => 1,
"username" => "John",
"group_id" => 1,
),
array(
"user_id" => 2,
"username" => "Mark",
"group_id" => 2,
),
array(
"user_id" => 2,
"username" => "Steve",
"group_id" => 2,
),
);
// CREATE AN ARRAY FOR USE IN GROUPING USERS WITH THE SAME group_id
$groupArray = array();
// WALK THE SIMULATED ARRAY (IN YOUR CASE YOUR ROWS)
// AND BUILD UP THE $groupArray
$result = array_walk($array, function($data) use(&$groupArray) {
if(!array_key_exists($data['group_id'], $groupArray)){
$groupArray[$data['group_id']][] = $data;
}else{
if(!in_array($data, $groupArray)){
$groupArray[$data['group_id']][] = $data;
}
}
});
// CREATE AN OUTPUT TO HOLD THE HTML CONTENT FOR DISPLAY:
$output = "";
// LOOP THROUGH THE $groups AND BUILD UP YOUR DATA...
foreach ($groupArray as $groupID=>$groups){
$output.= "<div class='group" . $groupID . "'>" . PHP_EOL;
$output.= "<h3 class='group-users'>Users in Group {$groupID}</h3>" . PHP_EOL;
foreach($groups as $group){
$output.= "<span class='user-name'>Username: " . $group['user_id'] . ": {$group['username']},</span><br />" . PHP_EOL;
}
$output.= "</div>" . PHP_EOL;
}
var_dump($output);
// echo $output;
// THE var_dump($output) PRODUCES::
string '<div class='group1'>
<h3 class='group-users'>Users in Group 1</h3>
<span class='user-name'>Username: 1: John,</span><br />
</div>
<div class='group2'>
<h3 class='group-users'>Users in Group 2</h3>
<span class='user-name'>Username: 2: Mark,</span><br />
<span class='user-name'>Username: 2: Steve,</span><br />
</div>
' (length=317)
지금까지 해보신 것은 무엇입니까? –
나는 아무 것도 시도하지 않았다, 나는 그걸하는 법을 모른다. – Barba
그때 너도 가지고있다. –