php - Group rows by field -


i have following table structure:

+------------------------+ | id |  name  | category | +------------------------+ |  1 | name_1 |    cat_1 | |  2 | name_2 |    cat_2 | |  3 | name_3 |    cat_1 | |  . |   .    |      .   | |  . |   .    |      .   | |  n | name_n |    cat_k | +------------------------+ 

were "n" total rows of table , "k" arbitrary number. question is, there way make sql query retrieve rows grouped category? mean possible structure?

array(     "cat_1" => array(                      "name_1", "1",                      "name_3", "3",                ),     "cat_2" => array(                      "name_2", "2",                       rows ....                ),     ...     "cat_k" => array(                      rows....                ), ) 

if there way please give me keywords, not entire solution please.

you can't in single query since mysql alone not able yield multi-dimensional arrays, it's trivial using php. here do:

$cats = array(); while ($row = $result->fetch()) {     if (!isset($cats[$row->category])) {         $cats[$row->category] = array();     }     $cats[$row->category][] = $row->name; } 

Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -