2011-06-01 163 views
1

你好 我堅持使用jQuery的tablesorter: http://tablesorter.com/docs/index.html#Examples的jQuery的tablesorter不排序

,並請將一些jQuery的大師可以檢查我的代碼,看看我要去的地方錯了。而不是每頁顯示10條記錄它顯示所有記錄,而且當我嘗試排序它什麼都不做。除此之外,沒有出現斑馬條紋。所有的圖書館都被加載,並且在螢火蟲中沒有錯誤。非常感謝您的幫助。

<?php 
$q=$_GET["q"]; 

$con = mysql_connect('localhost', 'root', ''); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("sample", $con); 

$sql="SELECT * FROM logger_log WHERE idusr_log = '".$q."' order by datein_log desc"; 

$result = mysql_query($sql); 

echo "<table id=\"userlog\" class=\"tablesorter\"> 
<thead> 
<tr> 
<th align=\"left\">Ip Address</th> 
<th align=\"left\">Date In</th> 
<th align=\"left\">Date Out</th> 
</tr> 
</thead>"; 

while($row = mysql_fetch_array($result)) 
    { 
    echo "<tbody>"; 
    echo "<tr>"; 
    echo "<td>" . $row['ip_log'] . "</td>"; 
    echo "<td>" . date('d/m/Y H:i:s',strtotime($row['datein_log'])) . "</td>"; 
    echo "<td>" . date('d/m/Y H:i:s',strtotime($row['dateout_log'])) . "</td>"; 
    echo "</tr>"; 
    echo"</tbody>"; 
    } 
echo "</table>"; 


mysql_close($con); 
?> 
<div id="pager" class="pager"> 
    <form> 
     <img src="css/blue/first.png" class="first"/> 
     <img src="css/blue/prev.png" class="prev"/> 
     <input type="text" class="pagedisplay"/> 
     <img src="css/blue/next.png" class="next"/> 
     <img src="css/blue/last.png" class="last"/> 
     <select class="pagesize"> 
      <option selected="selected" value="10">10</option> 
      <option value="20">20</option> 
      <option value="30">30</option> 
      <option value="40">40</option> 
     </select> 
    </form> 
</div> 
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="js/jquery.tablesorter.min.js"></script> 
<script type="text/javascript" src="js/jquery.tablesorter.pager.js"></script> 
<link href="css/blue/style.css" rel="stylesheet" type="text/css" /> 
     <script> 
     $(document).ready(function()  
     { 
      $("#userlog") 
      .tablesorter({widthFixed: true, widgets: ['zebra']})  
      .tablesorterPager({container: $("#pager")});  

     }); 
     </script> 
+1

你介意只顯示客戶端代碼嗎?所以恢復你目前的狀況比較容易。 – reporter 2011-06-01 12:08:35

回答

1

您需要刪除<tbody> FOM你的結果循環並放置在while循環中。

echo "<tbody>"; 
    while($row = mysql_fetch_array($result)) { 
    echo "<tr>"; 
     echo "<td>" . $row['ip_log'] . "</td>"; 
     echo "<td>" . date('d/m/Y H:i:s',strtotime($row['datein_log'])) . "</td>"; 
     echo "<td>" . date('d/m/Y H:i:s',strtotime($row['dateout_log'])) . "</td>"; 
    echo "</tr>"; 
    } 
    echo"</tbody>"; 
echo "</table>"; 
+0

優秀。謝謝。這麼簡單。歡呼聲 – ploppy 2011-06-01 12:17:22

+0

雖然這是正確的答案現在問題已經發展,當我納入到主要的PHP頁面。我是否需要創建一個新線程來顯示更新的代碼?謝謝 – ploppy 2011-06-01 14:10:37

0

嘗試取出while循環的TBODY標籤,做這個:

echo "<table id=\"userlog\" class=\"tablesorter\"> 
<thead> 
<tr> 
<th align=\"left\">Ip Address</th> 
<th align=\"left\">Date In</th> 
<th align=\"left\">Date Out</th> 
</tr> 
</thead> 
<tbody>"; 

然後後while循環:

echo "</tbody></table>";