我需要从php文件中的表单中获取输入(日期),并使用日期变量从mysql数据库中选择数据并在同一个php文件中返回一个数组而不刷新页面。现在,我有3个文件:index.php
,global.js
和date.php
index.php
接受输入(在这种情况下为日期)
Date: <input type="text" id="date">
<input type="submit" id="date-submit" value="Submit">
<div id="date-data"></div>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="js/global.js"></script>
global.js
听取点击提交按钮并将输入(日期)发布到date.php
$('input#date-submit').on('click', function() {
var date = $('input#date').val();
$.post('../ajax/date.php', {date: date}, function(data) {
$('div#date-data').html(data);
alert(data);
});
});
date.php
获取日期并查询mysql数据库以返回数组。这个数组需要传递回index.php
,但我无法弄清楚如何去做。
<?php
$con = mysql_connect('localhost', 'root', 'pass');
mysql_select_db('gymflow', $con);
$date = $_POST['date'];
$query = mysql_query("SELECT * FROM table WHERE `date` = $date");
$values = array();
while ($row = mysql_fetch_array($query))
{
$values[] = $row['utilization'];
}
echo json_encode($values);
?>
理想情况下,我需要能够将$values
中的date.php
变量传递给$values
index.php
变量
必须有一种更简单的方法来做到这一点......
答案 0 :(得分:3)
您的AJAX调用的目的是不刷新index.php
,而是将data.php
的结果直接传递到第一页。您可以通过javascript回调修改DOM,并在data.php
中生成其他数据库请求。让index.php
知道data.php
的输出没有任何意义,因为当进行Javascript调用时,您的第一页已经被处理并发送到客户端并且可能已经在浏览器中呈现窗口。
如果您需要知道后续index.php
请求中的输入值,您可以将其存储在用户会话的值中。