2017-05-24 3 views
-1

index.php:Paginierung funktionieren nicht auf der gleichen Seite?

<script> 
$(document).ready(function(){ 
    $("#submit2").click(function(){ 
    course = $("#courses").val(); 
    field2 = $("#field2").val(); 
    $("#imagen").show(); 
    $.ajax({ 
     type:"POST", 
     data:{"courses":course,"field2":field2}, 
     url:"college.php", 
     success:function(data){ 
     $("#imagen").hide(); 
     $("#popular_colleges").html(data); 
     } 
    }); 
    }); 
}); 
</script> 

<img id="imagen" src="please.gif"> 
<div id ="popular_colleges"></div> 

college.php

<?php 
    $course = $_POST['courses']; 
    $field2 = $_POST['field2']; 
    $per_page=10; 
    if (isset($_GET["page"])) 
    { 
    $page = $_GET["page"]; 
    } 
    else { 
    $page=1; 
    } 
    $start_from = ($page-1) * $per_page; 
    $sql = "select * from college where course like '%,$course,%' LIMIT $start_from, $per_page"; 
    $result = mysqli_query($link,$sql); 
    while($row = mysqli_fetch_array($result)) 
    { 
     echo $row['logo']; 
     echo $row['collegename']; 
     echo $row['stream']; 
    } 
?> 

<?php 
    $query = "select * from colleges"; 
    $result = mysqli_query($link, $query); 
    $total_records = mysqli_num_rows($result); 
    $total_pages = ceil($total_records/$per_page); 
    echo "<center><a href='index.php?page=1' style='padding:10px;'>".'First Page'."</a>"; 
    $skipped = false; 
    for ($i = 1; $i <= $total_pages; $i++) { 
     if ($i < 3 || $total_pages- $i < 3 || abs($page - $i) < 3) { 
      if ($skipped) 
       echo '<span> ... </span>'; 
      $skipped = false; 
      echo "<a href='index.php?page=" . $i . "' style='padding:5px;'>" . $i . "</a>"; 
     } else { 
      $skipped = true; 
     } 
    } 
    echo "<a href='index.php?page=$total_pages' style='padding:10px;'>".'Last Page'."</a></center>"; 
    ?> 

In diesem Code, wenn ich auf submit2 Schaltfläche klicken, um es Paginierung zeigt, aber wenn ich auf jeder Paginierung Nummer klicken, wird es die gleiche Seite neu zu laden, aber Ich möchte, dass beim Klicken auf die Seitennumerierungsnummer die Seite nicht geladen wird und das Ergebnis auf derselben Seite angezeigt wird.

enter image description here

Antwort

0

index.php?page=, aber Sie tun etwas nicht mit Seitenvariable in index.php. Wie ich sehen kann, verwenden Sie es in college.php, aber college.php empfängt keine Seitenvariable.

Sie senden eine POST-Anfrage und versuchen, eine Seite von $ _GET zu erhalten. You can only have one verb (POST, GET, PUT, ...) when doing an HTTP Request.

Sie senden Daten über AJAX an college.php.

data:{"courses":course,"field2":field2} 

Wie Sie sehen können, senden Sie keine Seite. Sie müssen auch eine Seite senden.

data:{"courses":course,"field2":field2, "page": page} 

Und verwenden $_POST['page'] statt $_GET['page']

+0

, wie Sie sagen, ich bin Daten senden: { "Kurse": Natürlich "field2": field2, "Seite": Seite} und auch $ _POST [verwenden‘ Seite '] anstelle von $ _GET [' Seite '], aber es zeigt nichts. @jurij – kevin

+0

setzen Seite ohne Initialisierung wird es nichts tun. Sie müssen den Wert einer Seite onclick mit Javascript erhalten. das wird etwas Programmierung benötigen. Ich kann zeigen, wo das Problem liegt, aber ich werde nicht für Sie codieren. –

Verwandte Themen