簡體   English   中英

如何對結果進行排序並按組顯示

[英]How to sort a result and display group wise

mysql查詢返回以下結果。

id - name - class
1  - A  -    5
2  - D  -    1
3  - B  -    5
4  - c  -    1
5  - E  -    5

(由於已在id上應用了訂單,因此無法進行按類別排序)

現在,我想按如下所示按類顯示視圖

Class 1         Class 5
id - name       id - name  
2  - D          1  - A
4  - C          3  - B
                5  - E

因此,我遵循以下步驟。

1)使用array_push()創建兩個單獨的數組

array_push($class_array, $class);  // indicates the class
array_push($other_array, $other); // $other indicates the string 'id - name';

2)asort($ class_array);

3)執行下面的foreach循環,我被困在這個

$new_c_array = array();
$table_array = array();

foreach ($class_array as $key => $val) {

 if (in_array($key, $new_c_array)) {

    $view_val = $other_array[$key];

    //**I am stuck in this section**
    // trying to find the next key from $class_array and check whether it is same of current key
    // if same then, its fine
    // else $view_val .= '</table>'

    array_push($table_array, $view_val);

 } else {


    array_push($new_c_array, $val);


    $view_val = '<table>';
    $view_val .= '<tr>';
    $view_val .= '<td> Class' . $val . '</td>';
    $view_val .= '</tr>';

    $view_val .= $other_array[$key];

    array_push($table_array, $view_val);


 }
} 

題:

1)如何在該循環中找到下一個鍵?

2)有沒有更好的方法可以實現目標?

我認為這是您想要的:

//you array from DB
$dataArray=array(
        1 => array(
                'name'  =>  A,
                'class' =>  5
            ),
        2 => array(
                'name'  =>  D,
                'class' =>  1
            ),
        3 => array(
                'name'  =>  B,
                'class' =>  5
            ),
        4 => array(
                'name'  =>  C,
                'class' =>  1
            ),
        5 => array(
                'name'  =>  E,
                'class' =>  5
            )
    );
$resultArray=array();
foreach($dataArray as $key=>$value){
    $resultArray[$value['class']][]=array(
                        'name'  => $value['name'],
                        'id'    => $key
                    );
}
print_r($resultArray);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM