pagination paneli statik kalmalıdır

1 Cevap php

Bir kullanıcı anahtar kelime girer ve sonuçları pagination ile görüntülendiği bir arama formu var. Her şey kullanıcı 'Next' butonuna tıkladığında sayfa yüklendiğinde ajax ile veri almak için zaman, sayfalama paneli de kaybolur gerçeği dışında çalışıyor.

Veri alınırken nasıl, sayfalama paneli statik yapabilirim?

search.html:

  <form name="myform" class="wrapper">
      <input type="text" name="q" id="q" onkeyup="showPage();" class="txt_search"/>
      <input type="button" name="button" onclick="showPage();" class="button"/>
      <p> </p>
        <div id="txtHint"></div>

    </form>

ajax:

var url="search.php";
url += "?q="+str+"&page="+page+"&list=";
url += "&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

function stateChanged(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
} //end if
} //end function

search.php:

 $self = $_SERVER['PHP_SELF'];
            $limit = 3; //Number of results per page
            $adjacents = 2;
            $numpages=ceil($totalrows/$limit);

            $query = $query." ORDER BY idQuotes LIMIT " . ($page-1)*$limit . ",$limit";
            $result = mysql_query($query, $conn)
             or die('Error:' .mysql_error());
?>

<div class="search_caption">Search Results</div>
<div class="search_div">
<table class="result">
    <?php while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
        $cQuote =  highlightWords(htmlspecialchars($row['cQuotes']), $search_result);
        ?>
        <tr>
        . . .display results. . .
        </tr>
    <?php } ?>
</table>
</div>

<hr>
<div class="searchmain">
<?php
   //Create and print the Navigation bar
       $nav="";
       $next = $page+1;
       $prev = $page-1;
       if($page > 1) {
            $nav .= "<a onclick=\"showPage('','$prev'); return false;\" href=\"$self?page=" . $prev . "&q=" .urlencode($search_result) . "\">< Prev</a>";

            $first = "<a onclick=\"showPage('','1'); return false;\" href=\"$self?page=1&q=" .urlencode($search_result) . "\"> << </a>" ;
        }

        else {
            $nav .= "&nbsp;";
            $first = "&nbsp;";
        }

       for($i = 1 ; $i <= $numpages ; $i++) {
            if($i == $page) {
                $nav .= "<span class=\"no_link\">$i</span>";
            }else{
                $nav .= "<a onclick=\"showPage('',$i); return false;\" href=\"$self?page=" . $i . "&q=" .urlencode($search_result) . "\">$i</a>";
            }
        }

        if($page < $numpages) {
            $nav .= "<a onclick=\"showPage('','$next'); return false;\" href=\"$self?page=" . $next . "&q=" .urlencode($search_result) . "\">Next ></a>";

            $last = "<a onclick=\"showPage('','$numpages'); return false;\" href=\"$self?page=$numpages&q=" .urlencode($search_result) . "\"> >> </a>";
        }

        else {

             $nav .= "&nbsp;";
             $last = "&nbsp;";
        }

        echo  $first . $nav . $last;
?>

</div>

1 Cevap

Eğer ne demek emin değil. Sadece ShowPage işlevi sonuç tablo değil tüm sayfayı değiştirin.