【问题标题】:Search individual column name from table从表中搜索单个列名
【发布时间】:2016-11-03 14:13:56
【问题描述】:
<script type="text/javascript" src="js/table.js"></script>
<?php include('auth.php');
error_reporting(0); 
include("config.php");
ob_start();
include_once ('function.php');
$page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
$limit = 25;
$startpoint = ($page * $limit) - $limit; 
if(strtolower(trim($type))=='new'){
$table = 'user_tbl';    
}else{
$table = 'old_users';
}
$statement = "`$table` ";
?>
<section id="main">
<!-- <table width="817" class="example table-autopage:20 table-stripeclass:alternate" id="page">-->
<form name="bulk_action_form" action="dltaction.php" method="post" onSubmit="return delete_confirm();"/>
<table class="TFtable">
<thead>
<tr>
<th><input type="checkbox" name="select_all" id="select_all" value=""/>   </th>
<th>Name<input name="filter"  onkeyup="Table.filter(this,this)">
          <br></th>
<th>Contact Number</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<?php   
$stmt="SELECT * FROM (SELECT id, name, cont, email,  'new' as type FROM user_tbl UNION ALL SELECT id, name, cont, email,  'old' as type FROM old_users ) as t ORDER BY id DESC LIMIT {$startpoint} , {$limit}";
$result=mysqli_query($con , $stmt);
$count=0;
while($row=mysqli_fetch_array($result)) {
$count=$count+1;
$_SESSION['sess_type'] = $row['type'];
$_SESSION['sess_id'] = $row['id'];
?>
<tr>
<td align="center">
<input type="text" name="type"  value="<?php echo $row['type']; ?>" hidden />
<input type="checkbox" name="checked_id[]" class="checkbox" value="<?php echo $row['id'].'_'.$row['type']; ?>"/></td>          
<td><?php echo $row['name']; ?> <b>( <?php echo $row['type']; ?>) </b></td>
<td><?php echo $row['cont']; ?></td>
<td><?php echo $row['email']; ?></td>
<td><?php echo $row['apr']; ?></td>
</tr>
<?php } ?>
</tbody>
<tfoot>
<td colspan="9"><?php
echo pagination($statement,$limit,$page);
?> </td></tfoot>
</table>
<input type="submit" class="btn btn-danger" name="bulk_delete_submit" value="Delete"/>
</form>
</section>

函数.php

<?php 
function pagination($query, $per_page = 10,$page = 1, $url = '?'){  
$con = mysqli_connect("localhost","root","","mytbl");      
$query = mysqli_query($con,"SELECT COUNT(*) as `num` FROM {$query}");
$row = mysqli_fetch_array($query);
$total = $row['num'];
$adjacents = "2"; 
$page = ($page == 0 ? 1 : $page);  
$start = ($page - 1) * $per_page;                               

$prev = $page - 1;                          
$next = $page + 1;
$lastpage = ceil($total/$per_page);
$lpm1 = $lastpage - 1;

$pagination = "";
if($lastpage > 1)
    {   
        $pagination .= "<ul class='pagination'>";
                $pagination .= "<li class='details'>Page $page of $lastpage</li>";
        if ($lastpage < 7 + ($adjacents * 2))
        {   
            for ($counter = 1; $counter <= $lastpage; $counter++)
            {
                if ($counter == $page)
                    $pagination.= "<li><a class='current'>$counter</a></li>";
                else
                    $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
            }
        }
        elseif($lastpage > 5 + ($adjacents * 2))
        {
            if($page < 1 + ($adjacents * 2))        
            {
                for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>$counter</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
                }
                $pagination.= "<li class='dot'>...</li>";
                $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>";
                $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";      
            }
            elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
            {
                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>...</li>";
                for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>$counter</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
                }
                $pagination.= "<li class='dot'>..</li>";
                $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>";
                $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";      
            }
            else
            {
                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>..</li>";
                for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>$counter</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";                    
                }
            }
        }

 if ($page < $counter - 1){ 
            $pagination.= "<li><a href='{$url}page=$next'>Next</a></li>";
            $pagination.= "<li><a href='{$url}page=$lastpage'>Last</a></li>";
        }else{
$pagination.= "<li><a class='current'>Next</a></li>";
$pagination.= "<li><a class='current'>Last</a></li>";
}
$pagination.= "</ul>\n";        
}
return $pagination;
} 
?>

这是我的桌子。在这里,我想搜索一个单独的列名,我使用了 table.js,它可以帮助我进行搜索,但是在使用分页后,它只有助于从当前页面而不是整个表中搜索。我已经使用过数据表,但是造成了一些问题,所以我删除了它。我如何使用这段代码从整个表中搜索?

【问题讨论】:

  • 查看这个例子:https://datatables.net/examples/api/multi_filter.html
  • 我已经使用过了,但是它让我的表格很笨拙,并且需要很长时间才能加载所有数据..
  • @Pooojaaaa 你试过这样吗:datatables.net/examples/api/multi_filter.html

标签: php mysqli pagination


【解决方案1】:

很简单。检查这个完整的例子:

https://coderexample.com/datatable-custom-column-search/

【讨论】:

  • 网站打不开
  • @Pooojaaaa 请分享网址。
  • 是的,您只能使用该代码搜索名称。如果您仍然遇到问题,请分享您的代码。我会为你做的。 :-)
猜你喜欢
  • 2014-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多