我已經成功地完成了我的第一步(link to my G+ post,但你不必閱讀它,一切都在這裏)。現在有一些併發症。這是演示表:PHP和MySQL - >顯示數據
ID | userid | Age | Name --------------------------- 1 | 1 | 30 | John 2 | 1 | 31 | Mike 3 | 1 | 30 | Whoever 4 | 2 | 32 | Jack 5 | 2 | 31 | Alice 6 | 3 | 30 | Kurt
我想與同齡userid = 1
+者僅顯示行必須在同一行中:
userid | Age | Name --------------------------------- 1 (hidden) | 30 | John, Whoever 1 (hidden) | 31 | Mike
在我的數據庫我使用subject
和grade
而不是age
和name
。這是我的MySQL查詢的外觀現在:
SELECT
p.subject as 'subject'
GROUP_CONCAT(grade) as grades
FROM grades p
GROUP BY p.subject
這對每個userid
顯示數據。 Userid
並不總是1,所以我不能只說if($userid == 1){/*code*/}else{/*code*/}
或類似的東西。
我該如何做到這一點?
我用來顯示數據的一些PHP代碼:
<?php
$result = $dbc->query("
SELECT
p.subject as 'subject',
id, finished, date,
GROUP_CONCAT(grade) as names
FROM grades p
GROUP BY p.subject
");
?>
<table>
<tr>
<th>Subject</th>
<th>Grade</th>
</tr>
<?php while($row = $result->fetch_assoc()){
$names = split(",",$row["names"]);
?>
<tr>
<td><?php echo $row["subject"] ?> </td>
<td><?php foreach($names as $name){echo $name . ' ' ; } ?>
</tr>
<?php } ?>
</table>?
。這有什麼用處? –