通过jQuery将URL变量传递到另一页
问题描述:
嗨,我正在使用加载更多的脚本来加载更多的内容在同一页面上加载更多的内容时。这里是脚本...通过jQuery将URL变量传递到另一页
<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)){
---------------
---------------
}
上述脚本工作正常,如果没有GET变量可用URL。但是,如果我想要在$_GET
变量的基础上加载页面内容,它会给出$_GET
变量未定义的错误。在哪里我需要定义这些变量..我也试着在fetch_pages.php
上与index.php
一起定义S_SESSION
变量,但它仍然给出错误。
这样做的最好方法是什么?是否有可能不单独创建fetch_pages.php
并在index.php
页面中定义其内容?
谢谢...
答
这是我的疑问,你可以检查这个 - (访问$ _ GET与出设置它),检查第一
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);
尝试从“'页面'中删除单引号:' –
既不会给出任何错误,也不会显示任何内容... – Ashish
您使用POST方法将数据发布到'fetch_pages.php'并访问我用'$ _GET'功能怎么可能...你能显示当前的网址吗? –