0

我想从 db 加载数据并想显示计数示例:message(5)。所以我已经在 div 中编写了查询。

<?php
    function load()
    {
        echo "<div id='count'>";
        db_select("query is here");
        echo "Message($count);
        echo "</div>";
    }
?>

我想在 Drupal 7 中刷新计数 div 而无需页面加载。谁能帮我解决这个问题

提前致谢。

4

3 回答 3

0

如果您已经引用了 JQuery,那么您可以使用:

//Some data to pass, if needed in JSON
var form_data ={
    param1 : "hello"
};

$.ajax({
           type: "POST",
           url: "Here is the URL to your method that will call the database",
           data: form_data,

           success: function(data)
           {
                //In from your file or method, return a value to be displayed. It will be in data variable.

               alert(data); //Alerts the value you passed

           }

         });
于 2015-03-18T12:17:30.017 回答
0

由于 PHP 是在服务器上处理的,如果您想通过 PHP 插入一个值,您总是必须重新加载页面。

要通过 ajax 获取它,数据更新必须在客户端使用 javascript 完成。

因此,将您的 php 代码放在一个文件中,例如 creatediv.php。

然后通过javascript加载它(本例中为jquery)

$("div").load("creatediv.php");

此函数在服务器上执行您的脚本并将返回的文本放入您的 div 中。

于 2015-03-18T12:21:57.437 回答
0

所以,在前端,你可以使用 jQuery,就像上面解释的那样。在 Drupal 方面,制作一些 php 脚本,添加到它的开头常见的 Drupal bootstarp:

define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

之后你可以使用所有的drupal 特性——drupal 被初始化。因此,您可以阅读视图、加载节点等等。生成您需要的任何内容(html、json)并打印出来。

您将使用您的 ajax 调用来调用该脚本。您当然可以像往常一样传递参数。

于 2015-03-18T14:31:58.627 回答