使用jQuery将MySQL查询中的数据加载到页面中

时间:2012-03-16 21:49:58

标签: jquery mysql

我想查询数据库并将该数据库中的条目上传到网页上的字段中。但是,我目前知道这样做的唯一方法是在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解析我需要的内容。有没有更好的方法来解决这个问题?

2 个答案:

答案 0 :(得分:0)

为什么不尝试从数据库中提取的数据创建JSON对象,并将其作为Ajax调用的响应发送回来,然后使用javascript创建/输入这些值到HTML中。它更快,减少了流量。

答案 1 :(得分:0)

而不是使用PHP呈现页面。让PHP输出一个JSON字符串,然后您可以使用jquery进行解释。使用JSON,您可以返回一个对象,该对象将存储您需要的所有数据。这种方法通常更好,因为传输JSON字符串所需的资源和带宽比传输呈现的HTML要少。