Php 使用DataTable显示数据库中的50行,可以搜索整个数据库

Php 使用DataTable显示数据库中的50行,可以搜索整个数据库,php,mysql,jquery-datatables,Php,Mysql,Jquery Datatables,我的数据库中有一个表,用于跟踪规格: | specs | id spec_name url common_spec notes 此表中约有8000种规格。我经常使用的规格大约有100个,其余的我都在手边,以备将来需要使用。我使用DataTables显示标记为公共规范的规范。这些规范在公共规范列中有一个“1”。我有一个如下结构的表: <?php $specs = $specslist->get_specs(); ?> <table id='commonSpecs'>

我的数据库中有一个表,用于跟踪规格:

| specs |
id
spec_name
url
common_spec
notes
此表中约有8000种规格。我经常使用的规格大约有100个,其余的我都在手边,以备将来需要使用。我使用DataTables显示标记为公共规范的规范。这些规范在公共规范列中有一个“1”。我有一个如下结构的表:

<?php $specs = $specslist->get_specs(); ?>
<table id='commonSpecs'>
<thead>
<tr>
<th>Spec Name</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<?php foreach($specs as $spec): ?>
<tr>
<td><?php echo $spec['spec_name']; ?></td>
<td><?php echo $spec['notes']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<script>
$(document).ready(function() {
    $('#commonSpecs').dataTable({
        "bJQueryUI" : true,
        "sPaginationType" : "full_numbers",
        "iDisplayLength" : 100
    });
</script>
当我第一次打开页面时,我试图在表中显示这100个标记为“普通规格”的规格,但允许搜索包含8000个规格的整个表

谁能给我一个方向吗?这可能吗

提前谢谢

编辑


这里的想法是避免加载表中的所有行,而只加载最初满足某些条件的行(这是一个常见的规范),然后在初始集没有规范时允许搜索整个表。希望这一切都有意义。

您误用了
分组依据
。它仅对摘要查询有用,其中包含
SUM(column)
MAX(column)
等函数

您可能需要:

     SELECT specs.url, specs.spec_name, specs.notes, specs.id 
      FROM specs
  ORDER BY specs.common_spec = 1 DESC, specs.spec_name
     LIMIT X,Y

ORDER BY specs.common_spec=1 DESC
将首先从结果集中取出您的常用规格。表达式
specs.common_spec=1
有两个可能的值,1和0。

您可以在数据库文档中找到一个很好的示例
     SELECT specs.url, specs.spec_name, specs.notes, specs.id 
      FROM specs
  ORDER BY specs.common_spec = 1 DESC, specs.spec_name
     LIMIT X,Y