2

PHP arrayMySQL から取り込まれたfromsortedレコードがありますtable

   function recupererDroitCreateur($user_id, $isAdmin = null) {
        $ret    = array() ; // this will be the returned array

        // Requête de sélection de tous les menus
        $sSQL = "SELECT m.menu_code, m.menu_lib, m.menu_action, m.menu_titre, cm.class_menu_lib, cm.class_menu_code
                     FROM menu m
                     LEFT JOIN classe_menu cm
                     ON m.class_menu_code = cm.class_menu_code
                     WHERE m.menu_deleted = 0 AND m.menu_visible = 1
                     ORDER BY cm.class_menu_lib, m.menu_titre";
        $this->db->query($sSQL) ;
        $ret['cnt'] = $this->db->num_rows();
        $i = 0;
        while ( $this->db->next_record() ) {
            $ret[$i]["menu_code"]   = $this->db->f('menu_code');
            $ret[$i]["menu_lib"]    = stripslashes($this->db->f('menu_lib'));
            $ret[$i]["menu_action"] = stripslashes($this->db->f('menu_action'));
            $ret[$i]["menu_titre"]  = stripslashes($this->db->f('menu_titre'));
            $ret[$i]["class_menu_lib"]  = stripslashes($this->db->f('class_menu_lib'));
            $ret[$i]["class_menu_code"]     = stripslashes($this->db->f('class_menu_code'));
            $i++;
        }

        return ($ret);
    }

nullクエリのソート列である「cm.class_menu_lib」列に値があります。そのため、html テーブル内の配列の内容を表示すると、null レコードが最初に表示されます。null レコードを最後に表示する方法は?

4

1 に答える 1

4
SELECT m.menu_code, m.menu_lib, m.menu_action, m.menu_titre, cm.class_menu_lib, cm.class_menu_code
FROM menu m
LEFT JOIN classe_menu cm
ON m.class_menu_code = cm.class_menu_code
WHERE m.menu_deleted = 0 AND m.menu_visible = 1
ORDER BY cm.class_menu_lib IS NULL, cm.class_menu_lib, m.menu_titre

基本的NOT NULL < NULLに、それを最初のソートキーとして追加します。

実際に見てください:http://www.sqlfiddle.com/#!2/226a4/1

于 2012-05-21T09:32:16.227 に答える