![](/img/trans.png)
[英]Symfony- How can i store a simple data into MySQL database using JQuery/AJAX??
[英]How can I query a mysql database using jquery and ajax?
我有一个带有“选择”框的表单。 选中此框后,我希望数据库中的相应记录显示在同一页面上。
涉及两个文件:包含以下格式的HTML页面:
<form id="theForm">
<select id="theDropdown">
<option value="biology">Biology</option>
<option value="chemistry">Chemistry</option>
<option value="english">English</option>
</select>
</form>
<div id="resultsGoHere"></div>
并且还包含jQuery代码:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#theDropdown').on('change', function() {
var qString = '{sub: ' + $('#theDropdown option:selected').text() + '}';
$.post('sub_db_handler.php', qString, processResponse);
// $('#resultsGoHere').html(qString);
});
function processResponse(data) {
$('#resultsGoHere').html(data);
}
});
</script>
jQuery代码似乎已成功获取选择菜单的选定值,并格式化了JSON查询字符串,如果上面的注释行未注释,则将其打印出来。
这是上面的post
命令中引用的PHP脚本。
<?php
$con = mysql_connect("localhost","rongilmo_ron","******");
if(!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("rongilmo_databases", $con);
$sub = $_POST['theDropdown'];
$q = "SELECT dbs.db_name, dbs.db_url FROM dbs, subjects, subjects_databases
WHERE subjects.subject_id=subjects_databases.subject_id
AND subjects_databases.database_id=dbs.db_id
AND subjects.subject_name='$sub'";
$r = mysql_query($q);
$array = mysql_fetch_row($r);
echo json_encode($array);
?>
我完全没有结果。 我已经在非ajax模式下测试了查询,所以这不是问题。
对ajax仍然是新手。 尽管已经阅读了很多教程并进行了大量的谷歌搜索,但我已经为此工作了两天,而且似乎无法使其正常工作。
您能提供的任何帮助将不胜感激。
给您选择一个名称属性。
<form id="theForm">
<select id="theDropdown" name="theDropdown">
<option value="biology">Biology</option>
<option value="chemistry">Chemistry</option>
<option value="english">English</option>
</select>
</form>
<div id="resultsGoHere"></div>
更新。 PHP期望使用标准URL编码表示法而不是JSON的查询字符串。 通过以下方式发送它,$ _POST数组应包含带有选定选项值的'sub'。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#theDropdown').change(function() {
var qString = 'sub=' +$(this).val();
$.post('sub_db_handler.php', qString, processResponse);
});
function processResponse(data) {
$('#resultsGoHere').html(data);
}
});
</script>
<?php
$con = mysql_connect("localhost","rongilmo_ron","******");
if(!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("rongilmo_databases", $con);
$sub = $_POST['sub'];
$q = "SELECT dbs.db_name, dbs.db_url FROM dbs, subjects, subjects_databases
WHERE subjects.subject_id=subjects_databases.subject_id
AND subjects_databases.database_id=dbs.db_id
AND subjects.subject_name='$sub'";
$r = mysql_query($q);
$array = mysql_fetch_row($r);
echo json_encode($array);
?>
您应该使用ajax $ .getJson()返回json字符串。 它将要求您在json字符串上使用$ each。 请参阅网站http://api.jquery.com/jQuery.getJSON/上的jquery文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.