Php 使用Tablesorter对动态SQL查询生成的表进行排序
我目前正在一个小项目中工作,我有一个SQL数据库,其中包含一些我想在可排序表中显示的数据 我已经建立了一个显示表格的网站。我的问题是让tablesorter处理这些表 网站()只提供了一个单一表格的示例 以下是我的源代码,由PHP生成: 生成表的代码段如下所示:Php 使用Tablesorter对动态SQL查询生成的表进行排序,php,jquery,tablesorter,Php,Jquery,Tablesorter,我目前正在一个小项目中工作,我有一个SQL数据库,其中包含一些我想在可排序表中显示的数据 我已经建立了一个显示表格的网站。我的问题是让tablesorter处理这些表 网站()只提供了一个单一表格的示例 以下是我的源代码,由PHP生成: 生成表的代码段如下所示: while ($row = mysqli_fetch_array($selectedtanks)) { $tank_id = $row[tank_id]; echo "<h2> ".tank_id2name($row[ta
while ($row = mysqli_fetch_array($selectedtanks)) {
$tank_id = $row[tank_id];
echo "<h2> ".tank_id2name($row[tank_id])." </h2><br>";
echo
"<table class=\"tablesorter\" id=\"myTable\">
<thead>
<tr>
<td>Nickname</td>
<td>Damage</td>
<td>Frags</td>
<td>Spots</td>
<td>Wins</td>
<td>Battles</td>
</tr>
</thead>
";
$sql = "select * from user2rooms left join usertanks on user2rooms.account_id=usertanks.account_id where user2rooms.room_id='$room_id' AND usertanks.tank_id='$tank_id'";
$result = mysqli_query($db,$sql);
while ($row2 = mysqli_fetch_array($result)) {
echo "<tbody>
<tr>
<td>".account_id2name($row2[account_id])."</td>
<td>".round($row2[damage_dealt]/$row2[battles],2)."</td>
<td>".round($row2[frags]/$row2[battles],2)."</td>
<td>".round($row2[spotted]/$row2[battles],2)."</td>
<td>".round($row2[wins]/$row2[battles],4)*100 ."%</td>
<td>".$row2[battles]."</td>
</tr>
</tbody>
</table>
";
}
}
while($row=mysqli\u fetch\u数组($selectedtanks)){
$tank_id=$row[tank_id];
echo“.tank_id 2名称($row[tank_id])”
;
回音
"
昵称
损坏
碎片
斑点
获胜
战斗
";
$sql=“select*from user2rooms left在user2rooms.account\u id=usertanks.account\u id其中user2rooms.room\u id='$room\u id'和usertanks.tank\u id='$tank\u id';
$result=mysqli_查询($db,$sql);
while($row2=mysqli\u fetch\u数组($result)){
回声“
“.account_id 2名称($row2[account_id])。”
“.round($row2[造成的伤害]/$row2[战斗],2)。”
.round($row2[frags]/$row2[battles],2)。”
“.round($row2[斑点]/$row2[战斗],2)。”
“.round($row2[获胜]/$row2[战斗],4)*100.”
“$row2[战斗]。”
";
}
}
添加JS get的代码:
<head>
<script type="text/javascript" src="/jquery/jquery-latest.js"></script>
<script type="text/javascript" src="/jquery/jquery.tablesorter.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript">
$(document).ready(function()
{
$(".tablesorter").css("border", "3px solid red");
}
);
</script>
$(文档).ready(函数()
{
$(“.tablesorter”).css(“边框”,“3px实心红色”);
}
);
生成的每个表都有相同的ID。不能有重复ID的元素-它们必须是唯一的。从表创建中删除id=\\“myTable\”
(或使其唯一,以便根据循环迭代添加一个数字),并将表排序器初始化更改为$(“.tablesorter”).tablesorter()代码>。我更改了它,但它不起作用。它适用于硬编码的表,但不适用于phpEdit your post生成的包含初始化表排序器的javascript的表。现在包含它找到了解决方案:我必须在中使用,而不是生成的每个表都具有相同的ID。不能有重复ID的元素-它们必须是唯一的。从表创建中删除id=\\“myTable\”
(或使其唯一,以便根据循环迭代添加一个数字),并将表排序器初始化更改为$(“.tablesorter”).tablesorter()代码>。我更改了它,但它不起作用。它适用于硬编码的表,但不适用于由phpEdit生成的表,该表包含初始化表排序器的javascript