因此,我正在从数据库中读取一些值。例如数据库中的“结果”,“团队”,“联盟”。我试图在<table>
中显示按联赛分组的特定球队的比赛结果,如下所示:
假设我的数据库包含以下数据:
result1 team1 league1
result2 team1 league1
result100 team1 league2
result101 team1 league2
result88 team1 league2
我尝试了很多东西,但是我无法使它工作。另外,联赛单元格的rowspan
必须等于特定联赛中检测到的结果数。可以使用mysql_num_rows
来完成,但是我不知道确切的位置。那么我怎样才能使这张桌子工作呢?非常感谢!
答案 0 :(得分:0)
按联赛对输出进行分组很简单,只需对查询结果进行分类即可。既然你的问题没有 包括您的表格架构或任何php代码,我对您的表格做出了一些假设,并将保留打开与 您的数据库,并执行sql语句给您。
$qstr = "SELECT league, team, event
FROM table
ORDER BY league, team, event";
// Execute query, get results into associative array $allrows
$league = "";
$col1 = "";
$col2 = "";
echo "<table>\n";
foreach($allrows as $rowno => $row) {
if($league != $row['league']) {
if($league != "") {
echo "<tr>\n";
echo "<td>".$col1."</td>";
echo "<td>".$col2."</td>";
echo "</tr>\n";
}
$league = $row['league'];
$col1 = $league;
$col2 = "";
}
$col2 .= $row['team']." got ".$row['event']."<br />\n";
}
echo "<tr>\n";
echo "<td>".$col1."</td>";
echo "<td>".$col2."</td>";
echo "</tr>\n";
echo "</table>\n";
答案 1 :(得分:0)
我已经尝试了一些方法,它对我有用,希望它对您有用... 看一下代码:
$db = new PDO('mysql:host=localhost;dbname=you_dbname', 'user', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT league, result, team FROM matches_info';
$stmt = $db->query($sql);
echo "<table border=\"1\">";
while($row = $stmt->fetch()){
echo '<tr>
<td rowspan="3">'.$row['pcid'].'</td>
<tr><td>'.$row['pid'].' got '.$row['pc_lect_num'].' </td></tr>
<tr><td>'.$row['pid'].' got '.$row['pc_lect_num'].'</td></tr></tr>';
}
echo "</table>";
这是非常基本的操作,您可以添加更多功能以改善其功能。