Drupal 7 Tpl文件中的Sql

时间:2014-07-17 13:55:10

标签: drupal-7 drupal-theming

任何人都可以建议我如何在.tpl文件中编写SQL查询吗?

我尝试编写db_query(“select * from table_name”);但它没有用。

请给我一个在tpl文件中编写sql查询的解决方案

2 个答案:

答案 0 :(得分:0)

我尝试过以下代码并获取记录

$result = db_query("SELECT * from node");
$records = $result->fetchAll();
print_r($records);

你能检查tpl文件是否正确,或者你可以共享代码。

最好在模块中编写一个函数,并将查询中的数据返回到tpl文件。

 // function inside your module
    function your_custom_function(){
        $result = db_query("SELECT * from node");
        $records = $result->fetchAll();
        retun $records;
    }

然后你可以从tpl文件中调用这个函数

// calling the function from tpl    
$data = your_custom_function();
foreach($data as $value){
   // do your template logic here
}

答案 1 :(得分:0)

.tpl文件用于模板布局,并且不应该具有比区域具有内容更多的逻辑。对于任何需要更多逻辑的东西,我建议你在template.php中添加一个适用的钩子,或者考虑创建你自己的模块。

您尝试实现的目标是什么,可以通过其他方式解决,而不是使用自定义查询。你可以为你的页面创建一个视图吗?

否则,请尝试首先通过数据库测试您的查询 - 如果您有phpmyadmin或类似的设置,以确定它是否实际返回结果。

有关如何使用该特定功能的更多信息,请参阅https://api.drupal.org/api/drupal/includes!database!database.inc/function/db_query/7