2017-02-25 17 views
0

こんにちは私は、より多くの読み込みをクリックしたときに同じページに多くのコンテンツを読み込むために、より多くのスクリプトを使用しています。ここでは、スクリプト...URL変数をjqueryを介して別のページに渡す

<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> 

にはGET変数がで利用できない場合の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)){ 
     --------------- 
     --------------- 
} 

上記のスクリプトが正常に動作していますURL。しかし、$_GET変数に基づいてページコンテンツをロードしたい場合は、$_GET変数が定義されていないというエラーが返されます。私はこれらの変数を定義する必要があります.. fetch_pages.phpindex.phpに変数S_SESSIONを定義しようとしましたが、それでもエラーが発生します。

これを行うにはどのような方法が最適ですか? fetch_pages.phpを別途に作成し、そのコンテンツをindex.phpページに定義することはできますか?

おかげで...

+0

'' page ''から一重引用符を削除しようとしてください: ' –

+0

エラーを出さず、内容も表示しません... – Ashish

+0

POSTメソッドを使って 'fetch_pages.php'にデータを投稿しています。私は '$ _GET'でどのように機能するのか...現在のURLを表示してください。 –

答えて

0

この私の疑問、あなたはthis-は(アウトそれを設定すると$ _GETにアクセスする)、2番目のコードスニペットのための今すぐ最初の

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"; 
} 

を確認するチェックすることができ

$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

あなたの努力に感謝していますが、問題はソート変数だけではありません...名前とエリア変数にも問題があります... – Ashish

+0

あなたが起動したいクエリーは 'name'で、' address'はgetで指定されていませんメソッド –

+0

fetch_pages.phpでS_GET変数について言及していない場合は、「未定義変数:_SESSION」を取得します...しかし、私はfetch_pages.phpでもS_SESSION ['name'] = S_GET ['name'] – Ashish

関連する問題