我正在使用 PHP,并且想要在按钮按下事件上运行 SQL 查询。我有这个 synatx,但我遇到的问题是按下按钮时没有任何反应!我打开了开发者控制台,但按下按钮时没有看到任何操作。
我在这里编码不当,我应该如何更改它,以便它按我的预期执行?
<html>
<tbody>
Start Date:<input type="date" name="startdate">
End Date:<input type="date" name="enddate">
<input type="submit" name="submit" value="Query DB">
</tbody>
</html>
<?php
if(isset($_POST['submit'])){
$startdate = $_GET['startdate'];
$enddate = $_GET['enddate'];
$option = array();
$option['driver'] = 'mssql';
$option['host'] = 'IP Address';
$option['user'] = 'user';
$option['password'] = 'pwd';
$option['database'] = 'DB';
$option['prefix'] = '';
$db = JDatabase::getInstance( $option );
$query = $db->getQuery(true);
$query = "Select Top 1 firstname from userinformation where hiredate >= '$startdate' and termdate < '$enddate'";
$db->setQuery($query);
$query = $db->loadObjectList();
}
?>
</html>
最佳答案
您需要在客户端使用像这样的 jQuery AJAX post 方法:
$("#form_id").submit(function( event ) {
$.post( "", {startdate: $("#form_id :input[name='startdate']"), enddate: $("#form_id :input[name='enddate']");} , function( data ) {
// handle the returning data if you need
});
});
$("#form_id").submit(function( event )
监听 id="from_id"
的 from 的表单提交事件。
$("#form_id :input[name='startdate']")
获取输入值。
最后jQuery.post()方法将类似于 {startdate: "01.01.2016", enddate: "12.31.2016"}
的 JSON 对象发送到服务器。
我编写了 ""
作为 POST 方法的目标,在您的情况下它可能类似于 "/myScript.php"
。
在服务器端$_POST PHP的变量自动解析请求。
您还需要在服务器端更改这两行:
$startdate = $_POST['startdate'];
$enddate = $_POST['enddate'];
因为您使用 POST
方法发送数据,而不是 GET
方法。
注意:问题用 jquery 标记,所以我假设请求应该由 jQuery 处理。
关于php - 从按钮按下事件运行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43927588/