- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为学校的年度数学竞赛创建竞赛报名页面。当您单击并选择下拉列表中的项目时,它需要一些类似 AJAX 的行为。
当我在下拉列表中选择某些内容时,会触发一个事件(我当前显示一个警报框):
<script type="text/javascript">
$(function() {
$("#student").change(onStudentChange);
});
function onStudentChange()
{
alert("Dropdown changed");
}
</script>
这需要做的是对服务器进行异步调用以获取学生当前注册的比赛列表。
我知道我需要进行 jquery ajax 调用。所以我认为我的 onStudentChange() 函数如下所示:
$.ajax({
type : 'POST',
url : 'get_registered_events.php',
dataType : 'json',
data: {
studentid : $('#student').val()
},
success : function(data){
// Do something once we get the data
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
// Display error
}
});
return false;
});
所以我继续创建了 get_registered_events.php
,我想返回学生注册的事件。
我的问题是,我没有使用 PHP 的经验,而且我很难弄清楚如何将数据库提供给我的数据以 JSON 格式返回给这个 ajax 调用。我遇到的另一个障碍是我们学校使用的是非常旧的 PHP 版本,所以我必须使用这个 PEAR JSON图书馆。
这是我遇到问题的 PHP 文件:
<?php
if (!empty($_POST['studentid')) {
include_once('JSON.php');
$json = new Services_JSON();
$dbconn = pg_connect("host=somehost dbname=somedb user=someuser password=somepassword") or die('Could not connect: ' . pg_last_error());
$query = 'SELECT contest.id, contest.title, FROM contest, student_contest WHERE student_id = '.$_POST['studentid'].' AND contest.id = contest_id';
$contests = pg_query($query) or die('Query failed: ' . pg_last_error());
// Here I need to convert the rows of $contests (contest.id, contest.title), into JSON and return it to that ajax call.
}
?>
所以我的问题是,如何将 $contests(其行)转换为 JSON(contest.id、contest.title),并将其返回到上面的 ajax 调用。
如果有人能指出我正确的方向,我将非常感激。
最佳答案
$myarray = array();
while ($row = pg_fetch_row($contests)) {
$myarray[] = $row;
}
echo json_encode($myarray);
我认为这必须有效。
关于php - 如何将此 postgres db 查询的结果转换为 json 以返回到我的 jquery 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1830264/
我是一名优秀的程序员,十分优秀!