Javascript Tablesorter jQuery不会对我的表进行排序
我正在尝试使用Tablesorter,但当我使用PHP输出表时,它似乎不起作用 我的PHP代码:Javascript Tablesorter jQuery不会对我的表进行排序,javascript,jquery,html,tablesorter,Javascript,Jquery,Html,Tablesorter,我正在尝试使用Tablesorter,但当我使用PHP输出表时,它似乎不起作用 我的PHP代码: function displayHours() { include 'dbinfo.php'; global $name; $date = $_SESSION["selectedDate"]; $result = mysqli_query($con, "SELECT * FROM hours WHERE name='$name' AND date='$date'");
function displayHours() {
include 'dbinfo.php';
global $name;
$date = $_SESSION["selectedDate"];
$result = mysqli_query($con, "SELECT * FROM hours WHERE name='$name' AND date='$date'");
echo '<thead><tr>
<th><center>Project name</th>
<th><center>Hour(s)</th>
</tr></thead>';
$color = FALSE;
while($row = mysqli_fetch_array($result))
{
if (!$color) {
echo "<tbody><tr>";
$color = TRUE;
} else if ($color) {
echo "<tbody><tr class=\"alt\">";
$color = FALSE;
}
echo "<td> " . $row['projectName'] . "</td>";
echo "<td> " . $row['description'] . "</td>";
echo '</tr> ';
echo '</tbody>';
}
}
如果我在一个循环中输出两个,它至少会对它们进行排序,但一旦我只输出一个,它就不会做任何事情
我什么都试过了,有什么帮助吗?我自己使用tablesorter时就知道了。我不得不使用
$(表)。触发器(“更新”)
获取要更新的动态添加的表,但是这不是php的问题。表排序器没有问题,但是您的表是html。PHP代码生成
thead
和几个tbody
标记。通常应该有一个t车身
标签
在PHP中,在while循环之前将tbody
打开,然后在循环之后关闭标记
//open tbody tag
echo "<tbody>";
while($row = mysqli_fetch_array($result)){
//print rows
}
//close tbody tag
echo "</tbody>";
这样,您的表排序器就会工作顺利 您正在将
tbody
添加到所有行中,这可能是问题所在。您应该在循环之前打开标记,然后在循环之后关闭它,而不是添加每一行。此外,你还关闭了你运行displayHours fonction的实体。哇。。它实际上起作用了。我完全忘记了它会给每一行一个tdbody。。。谢谢!!!救了我一天。请告诉我这永远不会是面向生产的代码?PHP代码中充满了注入攻击向量:|@scriptmonster添加您的评论作为答案,我将投票表决!
$(document).ready(function () {
$("#myTable").tablesorter();
});
//open tbody tag
echo "<tbody>";
while($row = mysqli_fetch_array($result)){
//print rows
}
//close tbody tag
echo "</tbody>";
<div class="datagrid">
<table id="myTable" class="tablesorter">
<?php displayHours();?>
</table>
</div>