Php 页面导航自定义
我的搜索结果页面每页显示20行。我尝试使用会话变量创建一种在搜索结果中超过20行时导航页面的方法。我的问题是,我的导航变量在第一次运行后似乎变成空的,即使它应该在提交时获取一个值,因为我只是获取提交按钮的值。它没有显示任何错误,从我对它的理解来看,它应该可以工作,所以我想就我的逻辑哪里出错寻求一些帮助。代码如下: 查看页面:Php 页面导航自定义,php,Php,我的搜索结果页面每页显示20行。我尝试使用会话变量创建一种在搜索结果中超过20行时导航页面的方法。我的问题是,我的导航变量在第一次运行后似乎变成空的,即使它应该在提交时获取一个值,因为我只是获取提交按钮的值。它没有显示任何错误,从我对它的理解来看,它应该可以工作,所以我想就我的逻辑哪里出错寻求一些帮助。代码如下: 查看页面: if(isset($pageCount)){ //it has more than one page if($pageCount == $curr
if(isset($pageCount)){ //it has more than one page
if($pageCount == $currentPage && $pageCount > 1){ //currently at last page
echo "<form name='searchCompanyFiles' class='form-inline' enctype='multipart/form-data' action = '/DTS/index.php/search_info/searchCompany' method = POST>
<input type = 'hidden' name = 'filter' value = '".$filter."'/>
<input type = 'hidden' name = 'searchQuery' value = '".$searchQuery."'/>
<input type = 'hidden' name = 'pageCount' value = '".$pageCount."'/>
<input type = 'hidden' name = 'currentPage' value = '".$currentPage."'/>
<input type = 'submit' name = 'navigation' value = 'Prev'/>
</form>";
}
else if($pageCount == $currentPage){ //assuming one page only
}
else if($pageCount > 1 && $currentPage > 1){ //somewhere in the middle
echo "<form name='searchCompanyFiles' class='form-inline' enctype='multipart/form-data' action = '/DTS/index.php/search_info/searchCompany' method = POST>
<input type = 'hidden' name = 'filter' value = '".$filter."'/>
<input type = 'hidden' name = 'searchQuery' value = '".$searchQuery."'/>
<input type = 'hidden' name = 'pageCount' value = '".$pageCount."'/>
<input type = 'hidden' name = 'currentPage' value = '".$currentPage."'/>
<input type = 'submit' name = 'navigation' value = 'Prev'/>
<input type = 'submit' name = 'navigation' value = 'Next'/>
</form>";
/* echo "<form name='searchCompanyFiles' class='form-inline' enctype='multipart/form-data' action = '/DTS/index.php/search_info/searchCompany' method = POST>
<input type = 'hidden' name = 'filter' value = '".$filter."'/>
<input type = 'hidden' name = 'searchQuery' value = '".$searchQuery."'/>
<input type = 'hidden' name = 'pageCount' value = '".$pageCount."'/>
<input type = 'hidden' name = 'currentPage' value = '".$currentPage."'/>
<input type = 'hidden' name = 'navigation' value = 'next'/>
<input type = 'submit' value = 'Next'/>
</form>";*/
}
else if($pageCount > 1 && $currentPage == 1){ //currently at first page
echo "<form name='searchCompanyFiles' class='form-inline' enctype='multipart/form-data' action = '/DTS/index.php/search_info/searchCompany' method = POST>
<input type = 'hidden' name = 'filter' value = '".$filter."'/>
<input type = 'hidden' name = 'searchQuery' value = '".$searchQuery."'/>
<input type = 'hidden' name = 'pageCount' value = '".$pageCount."'/>
<input type = 'hidden' name = 'currentPage' value = '".$currentPage."'/>
<input type = 'submit' name = 'navigation' value = 'Next'/>
</form>";
}
}
else{
echo "Page count not updating";
}
型号代码:
$rowsC[] = array();
if(!empty($pageCount)){ //if there is something to navigate through
//unset($_SESSION['pageCount']);
$start = $currentPage * 20;
$count = $this->db->query("SELECT * from company ORDER BY id");
$output = $this->db->query("SELECT * from company ORDER BY id LIMIT $start, 20");
if(strcmp(trim($navigation), "Prev") == 0){
echo "DID IT ENTER HERE?";
$currentPage--;
}else if(strcmp(trim($navigation), "Next") == 0){
echo "IT ENTERED HERE!";
$currentPage++;
}
echo "Value of navigation: ".$navigation;
//update current page
/* if($output->num_rows()%20 == 0){
$_SESSION['pageCount'] = (int)$count->num_rows()/20; //even count
}
else{
$_SESSION['pageCount'] = (int)($count->num_rows()/20) + 1; //odd count
}*/
}
else{ //initial search
$count = $this->db->query("SELECT * from company ORDER BY id");
$output = $this->db->query("SELECT * from company ORDER BY id LIMIT 0, 20");
$currentPage = 1;
if($count->num_rows()%20 == 0){
$pageCount = (int)$count->num_rows()/20; //even count
}
else{
$pageCount = (int)($count->num_rows()/20) + 1; //odd count
}
}
$i = 0;
if ($output->num_rows() > 0) {
foreach($output->result_array() as $rowC){
$rowsC[$i]['id'] = $rowC['id'];
$rowsC[$i]['name'] = $rowC['name'];
$rowsC[$i]['address'] = $rowC['address'];
$rowsC[$i]['telNum'] = $rowC['telNum'];
$rowsC[$i]['faxNum'] = $rowC['faxNum'];
$rowsC[$i]['email'] = $rowC['email'];
$rowsC[$i]['website'] = $rowC['website'];
$rowsC[$i]['acronym'] = $rowC['acronym'];
$i++;
}
return $rowsC;
}
return false;
这一行是我没有获得导航值的原因
if(isset($navigation)){
$navigation = $_POST['navigation'];
}
应该是这样的:
if(isset($_POST['navigation'])){
$navigation = $_POST['navigation'];
}
好的……我注意到由于某种原因,isset$\u会话['pageCount']总是返回false……为什么尽管我在模型代码中更新了它的值,但您没有使用框架组件,您应该使用wow,如果您不使用其组件,框架有什么用?尝试为此类任务使用分页类和url段。因为我的url没有更改…示例分页类根据url确定其页面,而且似乎不使用会话实际上是可行的,尽管我传递的隐藏变量有问题,因为出于某种原因,变量的值没有变化对我的任何情况
if(isset($_POST['navigation'])){
$navigation = $_POST['navigation'];
}