2011-06-02 20 views
0

こんにちは 私はtablesorterを持っていた問題のために昨日ここに助けを得ています。バックエンドクエリを独自に実行すると、結果が表示されます。しかし、私はそれをすべてのレコードを表示するドロップダウンから別のページから呼び出すと、エラーは火かき棒で見られていません。どこが間違っていますか?ありがとうjquery tablesorter問題

このコードは単独で動作します。

getuserlog.php

<?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\" cellspacing=\"1\"> 
<thead> 
<tr> 
<th align=\"left\">Ip Address</th> 
<th align=\"left\">Date In</th> 
<th align=\"left\">Date Out</th> 
</tr> 
</thead>"; 
    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>"; 


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> 
     $(function() { 
     $("#userlog") 
      .tablesorter({widthFixed: true, widgets: ['zebra']}) 
      .tablesorterPager({container: $("#pager")}); 
    }); 

     </script> 

、これは私がからそれを呼び出していますページです。

userlog.php

<script type="text/javascript"> 
function showUser(str) 
{ 
if (str=="") 
    { 
    document.getElementById("txtHint").innerHTML=""; 
    return; 
    } 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","getuserlog.php?q="+str,true); 
xmlhttp.send(); 
} 
</script> 

<div class="spacer"></div> 
<div class="userlogTxt">This report shows all users who have logged in up until: <?php echo date("d/m/Y H:i:s"); ?></div> 
     <br /> 
     <?php 
      $conn = mysql_connect('localhost', 'root', '') or die(mysql_error()); 

      mysql_select_db("sample") or die(mysql_error()); 

      $result2 = mysql_query('SELECT * FROM user_usr ORDER BY name_usr ASC', $conn); 
      echo '<select name="users" onchange="showUser(this.value)">'; 
      echo '<option value="selected">'. 'Select a user' . '</option>'; 
      while ($row = mysql_fetch_assoc($result2)) 
      { 

      echo '<option value="'.$row['id_usr'].'">'.$row['name_usr'].'</option>'; 
      } 
      echo '</select>'; 
     ?> 
    <br /><br /> 
<div id="txtHint" class="userlogTxt">Logging information will be shown here.</div></div> 

@inti

それは、DBから任意の日付を引いていません。ヘッダとページャを表示するだけです。私が間違っている

userlog.php

<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 type="text/javascript">  
    function showUser(str)  
     { 
      $.get("getuserlog.php?q="+str,function(response) { 
       $("#txtHint").html(response); 
      // Tablesorter will run, just after you loaded the ajax response    
      $("#userlog").tablesorter({widthFixed: true, widgets: ['zebra']}) 
      .tablesorterPager({container: $("#pager") 
      });   
       });  
     } 
</script> 

<div class="spacer"></div> 
<div class="userlogTxt">This report shows all users who have logged in up until: <?php echo date("d/m/Y H:i:s"); ?></div> 
     <br /> 
     <?php 
      $conn = mysql_connect('localhost', 'root', '') or die(mysql_error()); 

      mysql_select_db("sample") or die(mysql_error()); 

      $result2 = mysql_query('SELECT * FROM user_usr ORDER BY name_usr ASC', $conn); 
      echo '<select name="users" onchange="showUser(this.value)">'; 
      echo '<option value="selected">'. 'Select a user' . '</option>'; 
      while ($row = mysql_fetch_assoc($result2)) 
      { 

      echo '<option value="'.$row['id_usr'].'">'.$row['name_usr'].'</option>'; 
      } 
      echo '</select>'; 
     ?> 
    <br /><br /> 
<div id="txtHint" class="userlogTxt">Logging information will be shown here.</div></div> 

getuserlog.php

<?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\" cellspacing=\"1\"> 
<thead> 
<tr> 
<th align=\"left\">Ip Address</th> 
<th align=\"left\">Date In</th> 
<th align=\"left\">Date Out</th> 
</tr> 
</thead>"; 
    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>"; 


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> 

?おかげ

答えて

0

は、私がuserlog.phpでjQueryのAjaxの機能を使用するために、あなたをお勧めします、とgetuserlog.php内部のスクリプトが一定であるため、userlog.phpに移動し、このような何か:

<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 type="text/javascript"> 
    function showUser(str) 
    { 
     $.get("getuserlog.php?q="+str,function(response) { 
      $("#txtHint").html(response); 
      // Tablesorter will run, just after you loaded the ajax response 
      $("#userlog").tablesorter({widthFixed: true, widgets: ['zebra']}) 
         .tablesorterPager({container: $("#pager")}); 
     }); 
    } 
</script> 

EDIT:はすべて入れあなたはメインページのJavaScriptです。 ajaxレスポンスには、サーバーから取得したいデータのみが含まれている必要があります。

+0

hi。返信ありがとう。 userlog.phpという1つのファイルを持つことをお勧めしますか?ありがとう – ploppy

+0

いいえ、 'getuserlog.php'が必要ですが、javascriptはメインページ' userlog.php'でのみ使用します。 – aorcsik

+0

更新されたコードを見て、どこが間違っているか教えてください。ありがとうございます – ploppy