【发布时间】:2015-01-25 04:53:13
【问题描述】:
我目前正在尝试使用 Ajax 查询数据库。我的Ajax如下
function ajaxFunction(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Not working");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
document.returnhere.value = ajaxRequest.responseText;
}
}
var datepicker = document.getElementById('datepicker').value;
var datepicker1 = document.getElementById('datepicker1').value;
var queryString = "?datepicker=" + datepicker + "&datepicker1=" + datepicker1;
ajaxRequest.open("GET", "detengde.php" + queryString, true);
ajaxRequest.send(null);
}
//-->
</script>
<form name='myForm'>
From: <input id='datepicker' /> <br />
To: <input id='datepicker1' />
<br />
<input type='button' onclick='ajaxFunction()' value='Query MySQL' />
</form>
<div id=returnhere></div>
我的 PHP 看起来像这样:
include 'config.php'
$startd = ($_GET['datepicker']);
$endd = ($_GET['datepicker1']);
$sql = "SELECT * FROM delays WHERE Delaytype >= date('".$startd."') AND Delaydate < ADDATE(date('".$endd."'), INTERVAL 1 DAY)";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)) {
do something . .. .. . .
这个查询在它的一个上与 PHP 一起工作,并将返回位于两个日期范围之间的记录。
我正在努力将 php 输出返回到我的页面。老实说,当我点击按钮时,很少发生。我对 PHP 数据库交互很满意 AJAX 是我刚开始学习的东西。
请不要发送有关安全性的消息,我知道这是非常不安全的。
我在这里缺少一些非常基本的东西。在许多教程之后,通过堆叠溢出搜索它只是不点击(没有双关语)
【问题讨论】:
-
Im struggling to get the php output back to my page.。您的意思是您只想将结果echo返回到您的页面,或者您想以json之类的格式组织数据? -
老实说,这两种解决方案都会很有用,因为有些我会在 JSON 中回显我想要的其他数据。我想我在 AJAX 和 json_encode 中指定了 PHP 的数据类型,但不熟悉该方法。我更新了代码,这里有一个名为 return 的 div 格式不正确
标签: javascript php jquery sql ajax