我有一个来自postgres查询的PHP生成表。如何使用tablesorter插件在表的开头插入带有编号行的索引列?分拣工作。谢谢。
klejgkekrj
qwef
<html>
<head>
<link href="/media/css/blue/style.css" rel="stylesheet">
<script src="/media/js/jquery.js" type="text/javascript"></script>
<script src="/media/js/jquery.tablesorter.js" type="text/javascript"></script>
<script src="/media/js/jquery.tablesorter.widgets.js" type="text/javascript"> </script>
<script src="/media/js/jquery.tablesorter.pager.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#tabel").tablesorter({ widgets: [ 'zebra' , 'filter' ] })
});
</script>
</head>
<body>
<?php
$con = pg_connect("user=* password=* host=localhost port=5432 dbname=users ") or die (pg_last_error());
$query = "SELECT * from users";
$result = pg_query($con, $query);
echo "<table id=\"tabel\" class=\"tablesorter\">
<thead>
<tr>";
//next code get column names
for($i=0; $i < pg_num_fields($result); $i++){
$field_info = pg_field_name($result, $i);
echo "<th> $field_info </th>";
}
echo "
</tr>
</thead>";
//next code fetch cells content
echo "<tbody>";
while ($row=pg_fetch_row($result)){
echo "<tr>";
foreach($row as $_column){
echo "<td> $_column </td>";
}
echo "</tr>";
}
echo "</tbody>
</table>";
pg_close($con);
?>
</body>
</html>
答案 0 :(得分:1)
我用PHP不是那么好,但你不能这样做吗?
echo "<table id=\"tabel\" class=\"tablesorter\">
<thead>
<tr>
<th>#</th>";
.
.
.
//next code fetch cells content
echo "<tbody>";
$i=1;
while ($row=pg_fetch_row($result)){
echo "<tr>";
echo "<td> $i </td>";
$i++;
foreach($row as $_column){
echo "<td> $_column </td>";
}
echo "</tr>";
}
如果您希望该列不排序并保持不变,可以使用以下小部件(demo)和header选项来阻止排序:
// target the number column using a zero-based index
var number_column = 0;
// add custom numbering widget
$.tablesorter.addWidget({
id: "numbering",
format: function(table) {
var c = table.config;
$("tr:visible", table.tBodies[0]).each(function(i) {
$(this).find('td').eq(number_column).text(i + 1);
});
}
});
$("table").tablesorter({
theme: 'blue',
// prevent first column from being sortable
headers: {
0: { sorter: false }
},
// apply custom widget
widgets: ['numbering']
});