我想查询数据库并将该数据库中的条目上传到网页上的字段中。但是,我目前知道这样做的唯一方法是在PHP中创建一个执行查询的网页,以可读的方式将其打印到页面上,然后使用ajax加载该页面并通过HTML进行解析。这似乎是一种非常迂回的方式 - 所以我能做的更直接的事情是什么?
要明确:我有一个下拉菜单:
<select name="items" id="items" size=[php variable] onChange="javascript:updatePage()">
<option value="[database entry ID]">[php variable]</options>
<option value="[database entry ID]">[php variable]</options>
<textarea name="stuff" id="stuff">
</textarea><br>
然后我会:
<script src="jquery.js"></script>
<script>
function updatePage()
{
var itemToLoad = $('#items').val();
$.ajax({
type: "POST",
url: 'updatepage.php',
data: "itemtoload=" + itemToLoad,
success: function(data) {
var stuff = data;
stuff = parseWhatINeed(stuff);
$('#stuff').text(stuff);
}
});
}
</script>
并且updatepage.php执行MySQL查询,并且parseWhatINeed函数从数据变量中的html解析我需要的内容。有没有更好的方法来解决这个问题?
答案 0 :(得分:0)
为什么不尝试从数据库中提取的数据创建JSON对象,并将其作为Ajax调用的响应发送回来,然后使用javascript创建/输入这些值到HTML中。它更快,减少了流量。
答案 1 :(得分:0)
而不是使用PHP呈现页面。让PHP输出一个JSON字符串,然后您可以使用jquery进行解释。使用JSON,您可以返回一个对象,该对象将存储您需要的所有数据。这种方法通常更好,因为传输JSON字符串所需的资源和带宽比传输呈现的HTML要少。