我有一个页面,其中有一个按钮,用于点击并使用jquery显示表中数据库的所有数据。我需要通过单击列标题对表进行排序。问题是,我有,表的填充方式。看到代码。我有填充它的PHP代码。列是ID,许可证等。所以我需要根据列对其进行排序。
<?php
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "
my query from database to display all the values
";
$result= $dbh->prepare($query,array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$result->execute();
echo "<table id='abc' class='abcd' width='100%'><tr>"
. "<th id='mydata' class='myd' onclick='loadOrderedData(myd)'>ABC</th>"
. "<th>DEF</th>"
.......
. "</tr>";
while($data=$result->fetch(PDO::FETCH_ASSOC,PDO::FETCH_ORI_NEXT))
{
echo "<tr>"
. "<td>" . $data['ABC'] . "</td>"
. "<td>" . $data['DEF'] . "</td>"
.......
. "</tr>";
}
echo "</table>";
?>
它显示在最初隐藏的div中,然后使用jquery在取消数据的按钮单击中取消隐藏。请帮助我找到可行的解决方案。
我尝试制作<a href="#" >
并使用onclick方法。它不起作用,可能是由于它如何填充数据。
答案 0 :(得分:0)
与评论中的操作问题有关... 使用order by ...的示例查询。
SELECT * FROM `my_table` ORDER BY `price` ASC
....这将返回按价格列中的值排序的结果。使用ajax你可以使用jQuerys .load函数。并使用get变量传递url,以便对哪个列进行排序, 你需要给你的&lt; tr>一个id,ill调用id'数据',你将点击的列将有一个onclick =“loadOrderedData(columnName)”属性调用加载函数,如...
function loadOrderedData(orderBy){
$('#data').load('aPhpPageThatReturnsData.php?orderBy='+orderBy);
}
所以在被调用的文件中查询可能看起来像
SELECT * FROM `my_table` ORDER BY `$_GET['orderBy']` ASC
//code to create new html for your data <tr> using sorted data
希望这会有所帮助。 更新....
$result->execute();
?>
<table id='abc' class='abcd' width='100%'>
<tr>
<th class='myd' onclick='loadOrderedData("myd")'>ABC</th>
<th>DEF</th>
</tr>
<tr>
<td colspan="2">
<table id="myData">
<?php
while($data=$result->fetch(PDO::FETCH_ASSOC,PDO::FETCH_ORI_NEXT))
{ ?>
<tr>
<td><?=$data['ABC']?></td>
<td><?=$data['DEF']?></td>
</tr>
<?php
} ?>
</table>
</td>
</tr>
</table>