【发布时间】:2020-10-03 19:54:40
【问题描述】:
我有一个动态 html 表,如果值相同,我希望仅将第一列中的行合并在一起。Image of table。第一列的前两行值相同,应该合并,但第三列的行值不应该合并。
<table id="example1" class="table table-bordered">
<thead>
<th class="hidden"></th>
<th>Area</th>
<th>Name</th>
<th>Party</th>
<th>Symbol</th>
<th>Total Number of Votes</th>
</thead>
<tbody>
<?php
$query="SELECT * FROM `candidates` ";
$result=mysqli_query($con,$query);
while($row = mysqli_fetch_array($result)){
$sql1 = "SELECT `Name`,`Symbol` FROM `party` WHERE `Party_ID` = '".$row["Party_ID"]."' " ;
$query1 = $con->query($sql1);
$row1 = $query1->fetch_assoc();
$sql2 = "SELECT `Name` FROM `part` WHERE `Part_No` = '".$row["Part_No"]."' " ;
$query2 = $con->query($sql2);
$row2 = $query2->fetch_assoc();
$time1 = filemtime("../party/".$row['Symbol']);
echo "
<tr>
<td class='hidden'></td>
<td>".$row2['Name']."</td>
<td>".$row['Name']."</td>
<td>".$row1['Name']."</td>
<td><img src='../party/".$row1['Symbol']."?".$time1."' alt='".$row1['Symbol']."' role='button' width='30px' height='30px' onclick='window.open(this.src)'></td>
<td>".$row['Total_Votes']."</td>
</tr>
";
}
?>
</tbody>
</table>
【问题讨论】:
-
你的问题,至少对我来说,没有任何意义。请显示合并前两行后表格的外观。大概你也会合并第一列的第 3 行和第 4 行
-
您应该考虑使用
rowspan您的图像暗示该表是可排序的,这表明您必须在每次对表进行排序时重新检查。 -
警告:您对SQL Injections 持开放态度,应该使用参数化的prepared statements,而不是手动构建查询。它们由PDO 或MySQLi 提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行,you are still in risk of corrupting your data。 Escaping is not enough!
-
@DCR 是的,你是对的,我想组合第一列的行,对于提供的图像,它将是第一和第二行组合,第三和第四行组合。但是第三列的值也相同,但不需要将它们组合起来。仅适用于第一列。
-
@ATD 是的,我的表已排序,即对于第一列,相同的值将始终是连续的。但我不能使用静态行跨度,因为我不知道有多少连续行将具有相同的值。
标签: javascript html datatable