2014-02-07 41 views
-1

首先我访问如何发送GET值和php可用到另一个页面使用AJAX?

www.mysite.com/index.php?order_by=id asc 

我想送$name$_GET[order_by]autoload_process.php,我该怎么办?

的index.php

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Auto Loading Records</title> 
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script> 

<?php 
include("connect.php"); 
$items_per_group = 5; 
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASSWORD, $DB_NAME); 

$results = $mysqli->query("SELECT COUNT(*) as t_records FROM product_details"); 
$total_records = $results->fetch_object(); 
$total_groups = ceil($total_records->t_records/$items_per_group); 
$results->close(); 
?> 

<script type="text/javascript"> 
$(document).ready(function() { 
    var track_load = 0; //total loaded record group(s) 
    var loading = false; //to prevents multipal ajax loads 
    var total_groups = <?php echo $total_groups; ?>; //total record group(s) 

    $('#results').load("autoload_process.php", {'group_no':track_load}, function() {track_load++;}); //load first group 

    $(window).scroll(function() { //detect page scroll 

     if($(window).scrollTop() + $(window).height() == $(document).height()) //user scrolled to bottom of the page? 
     { 

      if(track_load <= total_groups && loading==false) //there's more data to load 
      { 
       loading = true; //prevent further ajax loading 
       $('.animation_image').show(); //show loading image 

       //load data from the server using a HTTP POST request 
       $.post('autoload_process.php',{'group_no': track_load}, function(data){ 

        $("#results").append(data); //append received data into the element 

        //hide loading image 
        $('.animation_image').hide(); //hide loading image once data is received 

        track_load++; //loaded group increment 
        loading = false; 

       }).fail(function(xhr, ajaxOptions, thrownError) { //any errors? 

        alert(thrownError); //alert with HTTP error 
        $('.animation_image').hide(); //hide loading image 
        loading = false; 

       }); 

      } 
     } 
    }); 
}); 
</script> 
<style> 
body,td,th {font-family: Georgia, Times New Roman, Times, serif;font-size: 15px;} 
.animation_image {background: #F9FFFF;border: 1px solid #E1FFFF;padding: 10px;width: 500px;margin-right: auto;margin-left: auto;} 
#results{width: 500px;margin-right: auto;margin-left: auto;} 
#resultst ol{margin: 0px;padding: 0px;} 
#results li{margin-top: 20px;border-top: 1px dotted #E1FFFF;padding-top: 20px;} 
</style> 
</head> 

<body> 

<ol id="results"> 
</ol> 
<div class="animation_image" style="display:none" align="center"><img src="ajax-loader2.gif"></div> 


</body> 
</html> 

autoload_process.php

<?php 
include("connect.php"); 
$items_per_group = 5; 
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASSWORD, $DB_NAME); 

if($_POST) 
{ 
    //sanitize post value 
    $group_number = filter_var($_POST["group_no"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH); 

    //throw HTTP error if group number is not valid 
    if(!is_numeric($group_number)){ 
     header('HTTP/1.1 500 Invalid number!'); 
     exit(); 
    } 

    //get current starting point of records 
    $position = ($group_number * $items_per_group); 

    //Limit our results within a specified range. 
    $results = $mysqli->query("SELECT * FROM product_details WHERE seller = '$name' ORDER BY $_GET[order_by] LIMIT $position, $items_per_group"); 

    if ($results) { 
     //output results from database 

     while($obj = $results->fetch_object()) 
     { 
      echo '<li id="item_'.$obj->id.'">'.$obj->id.' - <strong>'.$obj->seller.'</strong></span> &mdash; <span class="page_message">'.$obj->description.'</span></li>'; 
     } 

    } 
    unset($obj); 
    $mysqli->close(); 
} 
?> 
+2

'Warning:E_NON_ISOLATED_EXAMPLE on line 21622082 of/var/www/stackoverflow/questions' – PeeHaa

+0

'$ name'未在'index.php'中声明或定义 – krishna

+0

$ name is php available '$ name = session(Username )' – user3282833

回答

0

首先url参数值保存到一个隐藏的输入框,这样

<input type="hidden" id="orderby" value="<?php echo $_GET['orderby']; ?>"/> 

和会话varaible像

<input type="hidden" id="name" value="<?php echo $_SESSION['Username']; ?>"/> 

然后通过在$值。 POST这样

var orderby = $("#orderby").val(); 

var name = $("#name").val(); 

$.post('autoload_process.php',{'group_no': track_load, 'order_by':orderby, 'name':name} , function(data){ 
+0

以及如何发送$ name到autoload_process.php – user3282833

+0

使用相同的进程将其保存在单独的'input'框中,将值存储在jquery变量中并将其传递到'$ .POST'中 – krishna

0

的$ .POST第二个参数是 “数据”。您可以将您的变量作为对象发送。

例如:{ 'group_no': track_load, name: 'John Smith', order_by: 'id asc' }

相关问题