php
  • pagination
  • 2017-06-19 15 views 0 likes 
    0

    我正在顯示來自數據庫的一些圖像。首先我顯示所有圖像,然後如果用戶點擊按鈕,我想用查詢過濾它。分頁無法從isset方法獲取第二頁上的數據

    <div class="align_center gallery"> 
    
           <?php 
           include "anj.php"; 
           if($_GET['submit']){ 
            $sql = 'SELECT * FROM new_photos WHERE weight BETWEEN 10 AND 15'; 
          anjaan($sql); 
          } 
          else{ 
            $sql='select * from new_photos'; 
          anjaan($sql); } 
           ?> 
           </div> 
           <div class=" align_center "> 
           <div class=" col-md-12 pagination gallery"> 
           <?php  
           echo $paginationctrl; 
           ?> 
           </div> 
           </div> 
    

    當我點擊按鈕

        <form method="GET" > 
            <input type="Submit" name="submit" value="submit"> 
            </form> 
    

    則表明從第一查詢圖像和頁面(if語句)

    "'SELECT * FROM new_photos WHERE weight BETWEEN 10 AND 15';" 
    

    它顯示確切的頁面,這個查詢有,但是當我點擊第二頁顯示來自其他語句的內容

    "'SELECT * FROM new_photos "; 
    

    我希望當我點擊提交按鈕後點擊第二頁時,它應該顯示來自第一個查詢的圖像。

    分頁代碼

    global $paginationctrl; 
    $paginationctrl=''; 
    if($last !=1){ 
    
        if($pagenum>1){ 
           $previous = $pagenum-1; 
           $paginationctrl .='<a href="'.$_SERVER['PHP_SELF'].'?pn='.$previous.'">Pr</a>'.'&nbsp;'; 
           for($i = $pagenum-3 ;$i<$pagenum;$i++){ 
             if($i>0){ 
               $paginationctrl .='<a class="active" href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a>'.'&nbsp;'; 
             } 
           } 
        } 
    
        $paginationctrl .=''.$pagenum.'&nbsp;' ; 
         for($i = $pagenum+1 ;$i<$last;$i++){ 
           $paginationctrl .='<a class="active" href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a>'.'&nbsp;'; 
             if($i>=$pagenum+4){ 
               break; 
             } 
           } 
        if($pagenum != $last){ 
           $next =$pagenum+1; 
          $paginationctrl .=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$next.'">Next</a>'; 
        } 
        } 
    
    +0

    所有 - 你爲什麼使用表單?改用鏈接代替。你必須提供給PHP以某種方式,你想要從第2頁的結果。所以'12'和在PHP中讀取'$ _GET ['page']'和服務數據取決於它 – Kazz

    +0

    有2個不同的查詢,我想如果用戶不想對圖像進行排序而不是使用其他語句。如果用戶想排序圖像,而不是排序圖像應該顯示 –

    回答

    0
    <?php 
    
    session_start(); // this have to be called before any output 
    
    if(isset($_GET['sort'])){ 
        $_SESSION['sort'] = $_GET['sort'] == 'true'; 
    } 
    
    if(isset($_SESSION['sort']) && $_SESSION['sort']){ 
        echo 'sorted<br />'; 
    }else{ 
        echo 'unsorted<br />'; 
    } 
    
    ?> 
    
    <!-- link get method --> 
    <a href="?sort=true">sorted</a><br /> 
    <a href="?sort=false">unsorted</a> 
    
    <!-- form get method --> 
    <form method="GET"> 
    <select name="sort"> 
        <option value="true">sorted</option> 
        <option value="false">unsorted</option> 
    </select> 
    <input type="submit" name="submit" value="submit"> 
    </form> 
    
    在你的代碼

    <?php 
    if(isset($_GET['sort'])){ 
        $_SESSION['sort'] = $_GET['sort'] == 'true'; 
    } 
    
    include "anj.php"; 
    if(isset($_SESSION['sort']) && $_SESSION['sort']){ 
        $sql = 'SELECT * FROM new_photos WHERE weight BETWEEN 10 AND 15'; 
        anjaan($sql); 
    } else { 
        $sql = 'select * from new_photos'; 
        anjaan($sql); 
    } 
    ?> 
    

    選擇鏈接或表單上面,不要忘記把session_start();到文件的最頂部

    +0

    非常感謝你的兄弟。它運作。 –

    相關問題