ajax sql 和 PHP 查询数据库并返回结果
ajax sql and PHP query database and return result
我目前正在尝试使用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是我刚刚开始学习的东西。
请不要关于安全性的消息,我知道这是非常不安全的。
我在这里缺少一些非常基本的东西。经过许多教程,搜索堆叠溢出只是没有点击(没有双关语)
将名称为"returnhere"的字段添加到 HTML 页面。
<input type="text" name="returnhere">
如果我正确阅读了您的代码,ajax 函数的回调应该填写其值。
<?php
include 'config.php';
header('Content-Type: application/json; charset="utf-8"');
$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);
//just an empty array here
$final_array=array();
while($row = mysqli_fetch_array($result)) {
// I am not aware of what is being returned. So I am going to assume its a 'value'
// you can just store the values returned, in an array and echo the array or
// json_encode($array) and echo that
// this will just echo the value for time the loop encounters this statement
echo $row['value'];
//push the element into the array.Beware of overhead caused by array_push()
//if it is a `key-value` pair, its better just to use $final_array[$key] = $value;
array_push($final_array,$row['value']);
}
// Don't forget to set the header before echoing the json
echo json_encode($final_array);
?>
我希望这在一定程度上有所帮助。或者,如果您需要详细信息,请随时在下面发表评论
在你的 JS 中用
document.getElementById("returnhere").value=object.responseText;
或
document.getElementById("returnhere").innerHTML=object.responseText;
适合您的需求
相关文章:
- JSONP请求返回结果,但也触发error_callback
- async问题,JS Promise无法返回结果,但可以使用console.log
- Meteor js-控制台显示'未定义'即使返回结果
- 正在等待HTTP调用从函数返回结果
- 使用函数for循环遍历对象以更改值,然后返回结果
- 迭代 JSON 文件并且未在 Javascript 中正确返回结果
- Javascript 函数不返回结果
- 用逗号分隔返回结果中的对象
- 需要呈现MongoDB查询返回结果的特定索引/位置
- HTML5 文件阅读器如何返回结果
- javascript循环遍历列表项,并在数组中返回结果
- 使用jquery UI next按钮提交输入字段值,php将返回结果
- 在angularjs工厂中,如何在函数解析后返回结果
- 我在jQuery中的Rock Paper Scissors程序只在平局时返回结果
- 如何使用ajax调用php并返回结果
- 添加第二维度的Javascript未返回结果
- Node.js没有返回结果
- jquery裁剪图像selction未返回结果
- 如何在phonegap javascript函数中返回结果
- 如果文本筛选器在ng重复中未返回结果,则显示消息