2013-11-21 3 views
0

я пытаюсь извлечь все детали у меня на столе, но сгруппировать их двумя разными именами столбцов друг за другом и получать то же самое с PHPFetch все данные из таблицы группировки двумя колоннами - MySQL, 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 

во-первых, категория сгруппированы и отсортированы по идентификатору, а затем подкатегорию сгруппированы и отсортированы по подкатегории в порядке возрастания.

также, как мог я принести ту же Использование 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 
+0

использовать вложенный запрос. – Zword

+0

* sidenote: * прекратить использование устаревших 'mysql_ *' функций. используйте [MySQLi] (http://php.net/manual/en/book.mysqli.php) или [PDO] (http://php.net/manual/en/book.pdo.php). – Raptor

+0

Зачем вы хотите это сделать? – Strawberry

ответ

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); 

} 
?> 
+0

, что было легко, чем я думал ..: D .. thanks man .. –

+0

Кстати, вы смешиваете 'mysqli_' с' mysql_' '@ user3016038 –

Смежные вопросы