【问题标题】:Pagination not working when replacing Table by Dynamic DataTable in JQuery在 JQuery 中用动态数据表替换表时分页不起作用
【发布时间】:2013-12-12 12:58:23
【问题描述】:

我正在根据用户的搜索结果生成一个动态表,其中仅包含这些搜索列。 该表是在 AJAX 页面中生成的,并在另一个页面中作为响应返回。单独的分页不起作用。 请帮忙。 我的代码:

<?php
require_once('../Connections/finalkms.php'); 
$data = json_decode(stripslashes($_POST['data']), true);


$qry = " SELECT AssetId,";
$qry .= $data; 
$qry .= " from Completedetails";

mysql_select_db($database_finalkms, $finalkms);
$query_getcolumns = $qry;
$getcolumns = mysql_query($query_getcolumns, $finalkms) or die(mysql_error());
$row_getcolumns = mysql_fetch_assoc($getcolumns);
$totalRows_getcolumns = mysql_num_rows($getcolumns);

if (($getcolumns)||(mysql_errno == 0))  
{  
  echo "<table width='50%' class='table table-striped table-bordered table-hover' align='center' id='sample_2'>
  <thead><tr id='vstr'>";  
  if (mysql_num_rows($getcolumns)>0)  
  {  

          $i = 0;  
          while ($i < mysql_num_fields($getcolumns))  
          {  
       echo "<th align='center'>". mysql_field_name($getcolumns, $i) . "</th>";  
       $i++;  
    }  
    echo "</tr></thead>";  

    while ($rows = mysql_fetch_array($getcolumns,MYSQL_ASSOC))  
    {  
      echo "<tbody><tr>";  
      foreach ($rows as $data)  
      {  
        echo "<td align='center'>". $data . "</td>";  
      }  
    }  
  }else{  
    echo "<tr><td colspan='" . ($i+1) . "'>No Results found!</td></tr></tr>";  
  }  
  echo "</tbody></table>";  
}else{  
  echo "Error in running query :". mysql_error();  
}  

  ?>

 Here's My Java script code:

     <script>

     $("#sample_2").dataTable();

     </script>

【问题讨论】:

  • 怎么不工作了?它会产生错误吗?
  • 是的,它正在工作@Acelasi Eu。问题在于 标签。它在循环中,因此对于每条记录单独的 都会生成。所以分页不起作用。现在我删除了 标签然后它工作正常。
  • 好的,您应该将解决方案发布为其他人查看的答案。

标签: php jquery pagination datatables


【解决方案1】:

这是解决方案:

<?php
    require_once('../Connections/finalkms.php'); 
    $data = json_decode(stripslashes($_POST['data']), true);


    $qry = " SELECT AssetId,";
    $qry .= $data; 
    $qry .= " from Completedetails";

    mysql_select_db($database_finalkms, $finalkms);
    $query_getcolumns = $qry;
    $getcolumns = mysql_query($query_getcolumns, $finalkms) or die(mysql_error());
    $row_getcolumns = mysql_fetch_assoc($getcolumns);
    $totalRows_getcolumns = mysql_num_rows($getcolumns);

    if (($getcolumns)||(mysql_errno == 0))  
    {  
      echo "<table width='50%' class='table table-striped table-bordered table-hover' align='center' id='sample_2'>
      <thead><tr id='vstr'>";  
      if (mysql_num_rows($getcolumns)>0)  
      {  

              $i = 0;  
              while ($i < mysql_num_fields($getcolumns))  
              {  
           echo "<th align='center'>". mysql_field_name($getcolumns, $i) . "</th>";  
           $i++;  
        }  
        echo "</tr></thead>";  

        while ($rows = mysql_fetch_array($getcolumns,MYSQL_ASSOC))  
        {  
          echo "<tr>";  //removed body tag here
          foreach ($rows as $data)  
          {  
            echo "<td align='center'>". $data . "</td>";  
          }  
        }  
      }else{  
        echo "<tr><td colspan='" . ($i+1) . "'>No Results found!</td></tr></tr>";  
      }  
      echo "</table>";  
    }else{  
      echo "Error in running query :". mysql_error();  
    }  

      ?>

     Here's My Java script code:

         <script>

         $("#sample_2").dataTable();

         </script>

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签