在getJSON jquery中传递输入值

时间:2013-09-27 07:42:35

标签: javascript php jquery mysql json

我有一个<input>框,要求用户输入他们的ID号码。进入后我想通过JSON从mysql打印出ID的相关名称。

我的问题是,如何在javascript / jquery

中传递ID
$('input#name-submit').on('click', function () { //get the ID input
    var id = $('input#name').val(); // store it in this string

     $.getJSON("fetch.php", {id: id}, function(data) { //pass the ID in fetch.php
        $.each(data.member, function(key, value) { 
            $("#print").text(data.emp[key]["name"]);

        });
    });

我的fetch.php(不是实际的,但这就是我的想法)

if (isset['id'] == true {
    require 'db.php';

$query = "select * from `members` where `member_no` = '[id]'";
$result = $db->($query);

$myArray = array();
while ($row = mysqli_fetch_array($result)) 
       array_push($myArray, array('name' => $row [1]);

echo json_encode(array("result" => $myArray));
}

我正在寻找的遗失片段

  • 如何通过javascript将id值传递给我的fetch.php并查询该ID的关联名称
  • 正确的fetch.php逻辑语法,将查询显示为JSON格式,获取结果并在$("#print") div上显示。

1 个答案:

答案 0 :(得分:2)

<强>替换

if (isset['id'] == true {

<强>与

if (isset($_GET['id'])) {
     -----^^^^^^^^^^^^---

if (isset($_REQUEST['id'])) {
     -----^^^^^^^^^^^^^^^---

您正在使用if (isset['id'] == true {,如果条件检查是否已通过值isset,则您需要使用superglobal$_GET,$_POST,$_REQUEST

对于使用['id']的MySQL查询,其行为与普通字符串相同,您必须使用如上所述的supergloabal。

$query = "select * from `members` where `member_no` = '".$_REQUEST['id']."'";

$query = "select * from `members` where `member_no` = '".$_GET['id']."'";