2017-02-25 4 views
0

Hallo, ich benutze ein load more -Skript, um mehr Inhalt auf der gleichen Seite zu laden, wenn auf mehr geladen geklickt wird. Hier ist das Skript ...URL-Variable über jquery an eine andere Seite übergeben

<script type="text/javascript"> 
    var track_page = 1; 
    load_contents(track_page); 

    $("#load_more_button").click(function (e) { 
     track_page++; 
     load_contents(track_page); 
    }); 

    function load_contents(track_page){ 
     $('.animation_image').show(); 

     $.post('fetch_pages.php', {'page': track_page}, function(data){ 

      if(data.trim().length == 0){ 
       $("#load_more_button").text("You have reached end of the record!").prop("disabled", true); 
      } 

      $("#results").append(data); 

      $('.animation_image').hide(); 
     }); 
    } 
</script> 

Index.php

$_SESSION['name']=$_GET['name']; 
$_SESSION['area']=$_GET['area']; 

<div class="wrapper"> 
    <div id="results"></div> 

    <button id="load_more_button"><img src="ajax-loader.gif" class="animation_image" style="float:left;"> Load More</button> 
</div> 

fetch_pages.php

include("db.php"); 
$item_per_page = 10; 
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH); 

$position = (($page_number-1) * $item_per_page); 
$sort="id"; 
if(isset($_GET['sort'])&&($_GET['sort'])=='ASC'){ 
    $sort="price ASC"; 
} 
elseif(isset($_GET['sort'])&&($_GET['sort'])=='DESC'){ 
    $sort="price DESC"; 
} 
if($_SESSION['area']=='All'){ 
    $stmt = $mysqli->prepare("SELECT * from table where name= ? ORDER BY $sort LIMIT ?,?"); 
    $stmt->bind_param("sdd", $_SESSION['name'], $position, $item_per_page); 
} 
else{ 
    $stmt = $mysqli->prepare("SELECT * from table where name= ? AND area= ? ORDER BY $sort LIMIT ?,?"); 
    $stmt->bind_param("ssdd", $_SESSION['name'], $_SESSION['area'], $position, $item_per_page); 
} 
    $stmt->execute(); 
    $i=1; 
    $res = $stmt->get_result(); 
    while($row4=mysqli_fetch_array($res)){ 
     --------------- 
     --------------- 
} 

Das obige Skript funktioniert gut, wenn keine GET-Variable verfügbar ist in URL Aber wenn ich Seite Inhalt auf der Grundlage von $_GET Variable laden möchte, gibt es einen Fehler, der $_GET Variable nicht definiert. Wo ich diese Variablen definieren muss. Ich habe auch versucht, S_SESSION Variablen auf fetch_pages.php zusammen mit index.php zu definieren, aber es gibt immer noch einen Fehler.

Was ist der beste Weg, dies zu tun? Ist es möglich, fetch_pages.php nicht separat zu erstellen und seinen Inhalt in index.php Seite zu definieren?

Dank ...

+0

Versuchen Sie, ein Zitat aus der "Seite" zu entfernen: ' –

+0

Weder gibt es einen Fehler, noch zeigt es einen Inhalt ... – Ashish

+0

Sie veröffentlichen Daten mit POST-Methode zu' fetch_pages.php' und Zugriff so Ich Features mit '$ _GET' wie es möglich ist ... Könnten Sie bitte die aktuelle URL zeigen .. –

Antwort

0

dies meine Zweifel können Sie überprüfen, this- ($ _GET mit heraus Zugriff auf sie setzen), überprüfen Sie zuerst

if(isset($_GET['sort'])&&($_GET['sort'])=='ASC'){ 
    $sort="price ASC"; 
} 
elseif(isset($_GET['sort'])&&($_GET['sort'])=='DESC'){ 
    $sort="price DESC"; 
} 
// change above code snippet to following code 
$sort =''; 
if(isset($_GET['sort'])) 
{ 
    // if sort is not ASC then its definitely DESC 
    $sort = ($_GET['sort']=='ASC')?"price ASC" : "price DESC"; 
} 

nun für die zweite Code-Schnipsel

$area = '%%'; 
    $name = '%%'; 
    if(isset($_GET['area'])){ 
     $area = ($_GET['area']=='All' || empty($_GET['area']))?'%%':'%'.$_GET['area'].'%'; 
    } 
    if(isset($_GET['name'])) 
    { 
     $name = ($_GET['name'])?'%'.$_GET['name']:'%%'; 
    } 
    $stmt = $mysqli->prepare("SELECT * from table where name like ? AND area like ? ORDER BY $sort LIMIT ?,?"); 
    $stmt->bind_param("ssdd", $name , $area, $position, $item_per_page); 
+0

Hallo Danke für Ihre Bemühungen, aber das Problem ist nicht nur für Sortiervariable ... Das Problem besteht für Name und Bereich Variablen auch ... – Ashish

+0

Welche Abfrage möchten Sie auslösen ist 'Name' und' Adresse' ist nicht in get angegeben Methode –

+0

Wenn ich S_GET Variable nicht in fetch_pages.php erwähne, bekomme ich "Undefinierte Variable: _SESSION" ... Aber wenn ich S_SESSION ['Name'] = S_GET ['Name'] auf fetch_pages.php auch, dann Ich bekomme "Undefined Index: Name" .. – Ashish

Verwandte Themen