如何用 HTML 语言修改表中的行


How to modify rows in tables in HTML language

我有这个代码

<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              

您可以执行一个字符串数组,其中每个单元格都包含与单元格 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>";
}

编辑:我更改了代码,现在尝试一下。

以下是我的做法:

我会更改您的 sql 命令以对具有相同值 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))上分解所需的值,创建一个数组并做我想做的事情。

请注意,由于我不知道您的数据库的确切结构,我假设表课程包含课程的名称。进行必要的调整。