Javascript 从下拉列表中选择数据时,从MYSQL数据库中设置输入字段值属性

Javascript 从下拉列表中选择数据时,从MYSQL数据库中设置输入字段值属性,javascript,php,jquery,mysql,json,Javascript,Php,Jquery,Mysql,Json,我正在尝试发送select查询,并将结果设置为不同输入字段的value属性,在从下拉列表中选择值时应发送查询。在做了一些研究之后,我发现这可以通过jQuery实现 jQuery将向php文件发送请求,该文件包含我的查询和获取结果,然后以json格式返回值。在这一点上,一切都很正常,我的php文件正常工作并返回有效的json数据,但我无法将这些数据附加到我的输入字段中。下面是我的脚本,它应该运行php文件并以json返回结果,然后将结果追加到文本字段中 我现在也希望附加datetime本地值。我会

我正在尝试发送select查询,并将结果设置为不同输入字段的value属性,在从下拉列表中选择值时应发送查询。在做了一些研究之后,我发现这可以通过jQuery实现

jQuery将向php文件发送请求,该文件包含我的查询和获取结果,然后以json格式返回值。在这一点上,一切都很正常,我的php文件正常工作并返回有效的json数据,但我无法将这些数据附加到我的输入字段中。下面是我的脚本,它应该运行php文件并以json返回结果,然后将结果追加到文本字段中


我现在也希望附加datetime本地值。我会定期更新此问题,直到100%完成为止。

您必须声明将收到您的查询的数据类型。

数据类型:json

对于JSON-p:

header('Content-Type: application/javascript');

最后,我来到了最终的工作代码,在那里,一切都在完美地工作。首先,我要感谢@satyrwilder纠正了我的javascript部分

下面是最后一段代码,它使用jquery+php将数据库中的值附加到文本和datatime本地字段中

getFlightDate.php

print.php


诀窍是在json_编码之前更改datetime格式,因为datetime本地输入字段以特定格式显示值,即2014-12-05T08:30:59->Y-m-d\TH:i:s

将数据:“?航班号=$flight_号”,更改为数据:'flight_号='+$'flight_号”。瓦尔,感谢您的回复,我非常感谢。实际上它也不起作用。只是为了澄清1-我有1个文本字段和2个日期时间本地字段。2-getFlightData.php?flight_number=15463返回如下航班信息:-[{航班号:15463,目的地:苏黎世,起飞:2014-02-21 04:37:00,到达:2014-02-28 07:17:00}]好的,我可能误解了你的问题,对不起。我现在明白了。成功回调应该是这样的:success:functiondata{flight_destination.valdata[1];…}我做了,但它仍然没有返回任何内容,我也做了@JorhelReyes在回答中提到的事情,但仍然没有,luckAre你确定数据会返回到填充了json字符串的客户端并对其进行解析吗?如果您不确定,success:functiondata{console.logdata;…谢谢您的回答,但在输入字段中仍然没有返回任何内容。我只是将我的脚本放在fiddle上,数据属性必须是一个对象。即{flight\u number:$flight\u number}和jquery处理restCorrection:var数据是对象,而不是字符串,@peter您的答案是真的。
<?php
    include "dbConnect.php";
    $flight_number = $_GET['flight_number'];
    $query = mysql_query("SELECT * FROM flights WHERE flight_number='$flight_number'"); 
    $data = array();
    while($row = mysql_fetch_array($query)) 
    {
        $row_data = array(
            'flight_number' => $row['flight_number'], 
            'destination' => $row['destination'],
            'departure' => $row['departure'],
            'arrival' => $row['arrival']
        );
        array_push($data, $row_data);
    }
    echo json_encode($data);
?>
$(function(){
    var flight_destination = $('#destination');
    var flight_departure = $('#departure');
    var flight_arrival = $('#arrival');
    var flight_number = $('#flight_number');

    $('#flight_number').on('change', function() {
       var flight_info = $('#flight_number :selected').text();
    $.ajax({
        url: "getFlightData.php",
        type: "get",
        dataType: "json",
        data: { 'flight_number' : flight_number.val() }
        })
    .done(function(data) {
        $("#destination").val(data[0].destination);
        $("#departure").text(data[0].departure).val(data[0].departure);
        $("#arrival").text(data[0].arrival).val(data[0].arrival);

    });
    });
});   
$.ajax({
        url: "getFlightData.php",
        type: "get",
        data: '?flight_number=$flight_number',
        success: function(data){ ... },
        dataType: "json", //<--------- this 
});
header('Content-Type: application/json');
header('Content-Type: application/javascript');
<?php
header('Content-Type: application/json');
include "dbConnect.php";
function datetime()
{
    return date( 'Y-m-d\TH:i:s', time());

}

$flight_number = $_GET['flight_number'];
$query = mysql_query("SELECT * FROM flights WHERE flight_number='$flight_number'"); 
$data = array();
while($row = mysql_fetch_array($query)) 
{
$row_data = array(
    'flight_number' => $row['flight_number'], 
    'destination' => $row['destination'],
    'departure' => datetime($row['departure']),
    'arrival' => datetime($row['arrival'])
   );
  array_push($data, $row_data);

}
echo json_encode($data);
?>
<?php
include "dbConnect.php";
$flight_numbers = mysql_query("SELECT flight_number FROM flights"); 
?>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<title>Test</title>
</head>
<body>
<select id="flight_number">
<?php while($row = mysql_fetch_array($flight_numbers)) 
{
Print "<option>".$row['flight_number'] . "</option> ";
} 
?>
</select>
<br>
<input type="text" id="destination">
<input type="datetime-local" id="departure" />
<input type="datetime-local" id="arrival" />
<script>
$(function(){
    var flight_destination = $('#destination');
    var flight_departure = $('#departure');
    var flight_arrival = $('#arrival');
    var flight_number = $('#flight_number');

    $('#flight_number').on('change', function() {
       var flight_info = $('#flight_number :selected').text();
    $.ajax({
        url: "getFlightData.php",
        type: "get",
        dataType: "json",
        data: { 'flight_number' : flight_number.val() }
        })
    .done(function(data) {

        $("#destination").val(data[0].destination);
        $("#departure").text(data[0].departure).val(data[0].departure);
        $("#arrival").text(data[0].arrival).val(data[0].arrival);

    });
    });
});
</script>
</body>
</html>