iT邦幫忙

0

PHP 或 MySQL 將資料透過關聯重新排列

title group_key
A1 A
B1 B
C1 C
A2 A
B2 B
C3 C
A3 A
B3 B
C3 C

請問如果資料庫存取內容如上的話,可否在 MySQL 將結果變成
A1 A2 A3
B1 B2 B3
C1 C2 C3

若沒辦法,PHP 該怎麼寫比較好

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

6
wiseguy
iT邦超人 1 級 ‧ 2012-03-13 00:00:36
最佳解答

MySQL 雖然可以達到,但是浪費太多資源在組成這樣的字串,不值得。
PHP 倒是可以輕易完成:

<pre class="c" name="code">($conn = mysql_connect('localhost', 'mysql_user', 'mysql_password')) or die('DB conn error');
mysql_select_db('mydbname') or die('DB pick error');
$sql = 'select * from TABLE order by group_key,title';
($result = mysql_query($sql)) or die(mysql_error());
while ($row = mysql_fetch_assoc($result))
	$matrix[$row['group_key']][] = $row['title'];
mysql_free_result($result);
mysql_close($conn);

var_dump($matrix); /*  這就是你要的結果了 */

我要發表回答

立即登入回答