php - 我需要获取通过 AJAX 发送的 $_GET ['loc' ]

标签 php javascript mysql ajax

我有一个 index.php 页面,其中有两种查询,首先是位置,其次是搜索查询。我在位置查询上使用ajax

html结构:

<ul class="dropdown">
  <li><a href="?loc=dc">City</a></li>
  <li><a href="?loc=dn">North</a></li>
  <li><a href="?loc=ds">South</a></li>
</ul>
<form action="" method="post">
 <input type="text" name="search" id="search">
 </input value="submit" type="submit"/>
</form>
<div id="content_from_AJAX">
 <ul id="li_start">
 </ul>
</div>

ajax.js 代码:

$(document).ready(function(e) {
    function getLoc(param){

        if(window.XMLHttpRequest){
            xmlhttp = new XMLHttpRequest();
        }
        else{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.onreadystatechange = function(){
         if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
         document.getElementById("li_start").innerHTML = xmlhttp.responseText;
         }
        }
        xmlhttp.open("GET","getresult.php"+param,false);
        xmlhttp.send();

    }

    //handle anchor clicks
    $("ul#location li a").click(function(){
        var loc = $(this).attr("href");
        getLoc(loc);
            return false;
    });

});

getresult.php 代码:

require ('connect_to_mysql.php');
  if(isset($_GET['loc']) && empty($_GET['loc'])===false){
    $loc = mysql_real_escape_string($_GET['loc']);
    $query = "SELECT * FROM TB_name WHERE loc=";
  }
  else{
    $query = "SELECT * FROM TB_name";
  }

$query_run = mysql_query($query);
$count = mysql_num_rows($query_run);

if($count<1){
 echo 'no result found';
}
else{
 while($result == mysql_fetch_assoc($query_run)){
  echo "ALL results";
 }
// Here is what I want to be able o access on index.php
 return $_GET['loc']
}

我希望在 index.php 上访问 $_GET,这样我就可以使用它来过滤上面表单上的搜索查询结果,即:

"SELECT * FROM `TB_name` WHERE `keyword` LIKE '$keyword' AND `loc`='".$_GET['loc']."'"

//我需要在 index.php 上执行此操作,而不是在 getresult.php

上执行此操作

而且,如果用户单击 loc 链接(如果设置了 $_POST['search']),我还希望 AJAX.js 在 getresult.php 上发送查询.

请帮助我真的需要这个项目,我开始感到沮丧 X_X.. 谢谢你的帮助,非常感谢:)

最佳答案

改变这个

xmlhttp.open("GET","getresult.php"+param,false);

xmlhttp.open("GET","getresult.php?loc="+param,false);
                                 ^^^^ // forgot ?loc=

然后在 getresult.php 页面中使用 $_GET["loc"]

关于php - 我需要获取通过 AJAX 发送的 $_GET ['loc' ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15222206/

相关文章:

php - 在 Laravel 5 中保存之前修改请求字段值

php - 如何处理dompdf两列设计?

java - 为 webapp 创建教程的框架?

php - 如何查看 PHP SOAP 客户端类生成的实际 XML?

php - 在将值存储为 CSV 的列上使用多个标签进行最佳结果搜索

javascript - 在 HTML5 Canvas 中,我可以让 y 轴向上而不是向下吗?

javascript - 转换 JavaScript 二维数组

mysql - SQL 使用不同的参数或值更新多条记录

mysql - Mariadb 在日志文件中显示密码

PHP:帮助根据数据库中的 url 重定向重定向用户