2016-02-27 48 views
0

这是php代码,用于检查表单(在同一页上)是否发布,如果发布时取决于$ _POST数组,则返回结果或返回数据库中的所有结果。这还设置稍后用于分页

if(!isset($_POST['search'])) 
{ 

$id = (isset($_GET['id']) ? $_GET['id'].'0' : 10); 
$id = $id-10; 
$query = "select SQL_CALC_FOUND_ROWS * from feedbacks order by Date desc limit $id, 10 "; 
} 
else if (!empty($_POST['from'])) 
{ 

$timstmp = strtotime($_POST['from']); 
$dt = date("Y-m-d H:i:s", $timstmp); 

$id = (isset($_GET['id']) ? $_GET['id'].'0' : 10); 
$id = $id-10; 
$query = "SELECT SQL_CALC_FOUND_ROWS * FROM `feedbacks` WHERE `Date` >= \"$dt\" order by Date desc limit $id, 10 "; 
} 
else if (!empty($_POST['name'])) 
{ 

$name = '%'.$_POST['name'].'%'; 

$id = (isset($_GET['id']) ? $_GET['id'].'0' : 10); 
$id = $id-10; 
$query = "SELECT SQL_CALC_FOUND_ROWS * FROM `feedbacks` WHERE `name` LIKE '$name' order by Date desc limit $id, 10 "; 
} 
$result= mysqli_query($connection, $query); 

$r = mysqli_fetch_array(mysqli_query($connection, 'SELECT FOUND_ROWS()')); 
$total = ceil($r['FOUND_ROWS()']/10); 

$feedbacks = array(); 
for ($i = 0;$row= mysqli_fetch_assoc($result); $i++) 
{ 
    $feedbacks[$i] = new FeedBack($row); 
} 


?> 

这些是取决于中的哪一个取决于从数据的基础上计算时的结果的总页数自动生成HTML链接含有NUMBER_OF_PAGES $总可变

<?php 
if ($total>1) 
{ ?> <div class="pagging"> 
<?php  for($i=$total; $i>=1; $i--) 
{ ?> 

         <div class="right"> 
          <a id="pagination" href="index.php?id=<?php echo $i; ?>"><?php echo $i; ?></a> 
         </div> 

        <?php } ?> 
        </div> 
      <?php  } ?> 
       </div> 
       <!-- Table --> 

在此页面上,我正在实施过滤器。用户在表单中输入数据并按下搜索以便根据$ _POST数组加载不同的结果,并且变量$ total包含num_of_pages被修改为第一块php代码现在显示第一页显示数据库第一个10结果使用偏移量0或ofset = IDX10-10如果id被设置,但问题是它只适用于默认结果,即当所有结果都显示并且没有应用过滤器,但是当用户搜索经过过滤的前10个过滤结果时,但当用户单击下一页它不工作,因为$ _POST未被设置由php检查如果条件在上面的PHP代码。所以我的问题是我如何发送$ _POST []与ID一起使它工作。任何帮助,将不胜感激。谢谢。

回答

1

您无法通过链接发送POST变量。你需要使用GET。

<a href="some_page.php?<?=http_build_query($assc_array);?>">Link</a> 
//the link will reflect some_page.php?name1=value1&name2=value2...etc 

在PHP端使用$ _GET或$ _REQUEST变量,而不是$ _POST。

+0

一切都很酷,除非你需要在该数组中分别添加id –

相关问题