2016-04-25 69 views
-1

表中的行我有這樣的代碼如何修改HTML語言

<html> 
<head> 
<title> trans </title> 
<body> 
<style> 
table, th, td { 
border: 1px solid black; 
width: 900px; 
margin: auto; 
} 
h3{ 
text-align: center; 
margin-top: 20px;  
} 
</style> 
<?php 

$con = mysqli_connect('localhost', 'root', ''); 
mysqli_select_db($con,"uoh"); 
$q = " SELECT * FROM `degree_plan` LEFT JOIN courses ON 
degree_plan.course_number=courses.course_number 
where major='COE'"; 

$result = mysqli_query($con , $q) ; 
if($result){ 
    echo "<br />"; 
    echo "<table>"; 
    echo "<tr>"; 
    echo "<th>courses</th>"; 
    echo "<th>term_no</th>"; 
    echo "</tr>"; 
while($row = mysqli_fetch_array($result)) 
{ 

    echo "<tr>"; 
    echo "<td>" . $row["code"]. "</td>"; 
    echo "<td>" . $row["term_no"]. "</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 
    } 
?> 
</body> 
</html> 

這個代碼是這樣的輸出。 在這裏,每行都在一行,但我不想那樣。

-------------------------- 
course   term_no 
-------------------------- 
CHEM 101   1 
------------------------- 
ENGL 101   1 
------------------------- 
MATH 101   2 
-------------------------- 
PE 101    2 

我該如何讓代碼不會分開具有相同term_no的課程。 我想這樣

-------------------------- 
course   term_no 
-------------------------- 
CHEM 101   1 
ENGL 101    
------------------------- 
MATH 101   2 
PE 101    
+0

你的意思是你想把所有的課程都用同一個term_no分組在一起? –

+1

很可能要首先開始製作一個數組;) –

+0

是的,我想將所有具有相同term_no的課程組合在一起 – Steven

回答

0

的輸出你可以做一個String數組,其中的每一個它認爲細胞在該小區ID匹配相同term_no所有的課程。

嘗試了這一點您當前的歐洲工商管理學院while循環:

$str = array(); 
while($row = mysqli_fetch_array($result)) 
{ 
    $str[$row['term_no']] += ",".$row['code']; 
} 
foreach ($str as $key => $value) 
{ 

    echo "<tr>"; 
    echo "<td>" . $value. "</td>"; 
    echo "<td>" . $key. "</td>"; 
    echo "</tr>"; 
} 

編輯:我改變了代碼升技現在嘗試。

0

Here`s我會怎麼做:

I`d改變你的SQL命令組和CONCAT結果有term_no相同的值。

SELECT group_concat(c.course), dp.term_no FROM `degree_plan` as dp LEFT JOIN courses as c ON 
degree_plan.course_number=courses.course_number 
where major='COE' 
GROUP BY dp.term_no 

一旦做到這一點,我會恢復連接在一起,並通過,分離的數據。有了這個,我可以做preg_replace('/,/' , '<br>', $row["code"])來替換每個,'<br>或者我可以在迭代中爆炸想要的值(explode(",", $value)),創建一個數組並且做我想做的事情。

請注意,由於我不知道數據庫的確切結構,因此我認爲表格課程包含課程名稱。進行必要的調整。