0

テーブルにあるすべての詳細をフェッチしようとしていますが、それらを2つの異なる列名でグループ化し、phpから同じものをフェッチします

例:

   id   name    url     category    subcategory
/*------------------------------------------------------/*
    1   google  g.gl    partner     associative
    2   fb      f.b     sponsor     main
    3   yahoo   y.ho    partner     color
    4   stack   st.ck   sponsor     main
    5   mys     l.my    sponsor     sub
    6   bang    b.lo    sponsor     parent
    7   xyz     x.yz    partner     color

最終的に欲しいもの

       id   name    url     category    subcategory
    /*------------------------------------------------------/*
        1   google  g.gl    partner     associative
        3   yahoo   y.ho    partner     color
        7   xyz     x.yz    partner     color
        2   fb      f.b     sponsor     main
        4   stack   st.ck   sponsor     main
        6   bang    b.lo    sponsor     parent
        5   mys     l.my    sponsor     sub

最初にカテゴリがグループ化され、id によって並べ替えられます。次に、サブカテゴリがグループ化され、サブカテゴリの昇順で並べ替えられます。

また、phpを使用して同じものを取得するにはどうすればよいですか

私の試み:

mysql:

SELECT category, GROUP_CONCAT(subcategory) , GROUP_CONCAT(name) , GROUP_CONCAT(url) 
FROM list
GROUP BY category

PHP:

1. mysql_fetch_array to fetch everything..
2. explode subcategory and every other concated values and then echo them
4

1 に答える 1

2

このコードを試すこともできます:

<?php 
$db_resource    = mysqli_connect('Host Name', 'username', 'password');
$dbconn         = mysqli_select_db('Data base Name', $db_resource);
$query = 'SELECT * FROM list order by category , subcategory';
$result = mysqli_query($query);
while($row = mysqli_fetch_array($result))
{
    print_r($row);

}
?>
于 2013-11-21T09:21:11.630 に答える