【问题标题】:Want to use LIKE clause想使用 LIKE 子句
【发布时间】:2016-03-13 09:29:08
【问题描述】:

我已经编写了一个查询,它根据“组合”内容类型的“术语 ID”获取节点标题。现在我想根据字符获取“节点标题”,这意味着我想使用“LIKE”以下查询的子句。如果用户输入“a”或“A”,则应获取这些字符中的所有节点图块。

<?php
$nodes = array();
$select = db_query("SELECT node.title AS node_title, node.nid AS nid, node.created AS node_created
                    FROM {node} node
                    WHERE node.status = '1'
                         AND node.type = 'portfolio'
                         AND node.nid IN  (SELECT tn.nid AS nid
                                           FROM {taxonomy_index} tn
                                           WHERE tn.tid = '1')
                    ORDER BY node_created");
    foreach ($select as $nodes) {  
       print $nodes->node_title;
   }
?>

【问题讨论】:

  • 我已经编辑了你的代码并删除了所有这些不必要的括号

标签: sql drupal drupal-7


【解决方案1】:

sql应该是这样的

SELECT node.title AS node_title, node.nid AS nid, node.created AS node_created
    FROM {node} node
        WHERE node.status = '1'
            AND node.type = 'portfolio'
            AND node.nid IN  
            (
                SELECT tn.nid AS nid
                FROM {taxonomy_index} tn
                WHERE tn.tid = '1'
            )
            AND upper(node.title) like '%<whatever>%'
            ORDER BY node_created

您可以通过以下链接找到更多信息
https://drupal.stackexchange.com/questions/112530/how-to-use-like-condition-in-db-select-query
处理使用drupal提供的API来编写查询而不是像这种情况下的原始sql

php mysqli prepared statement LIKE
如何在 LIKE 中使用准备好的语句(如果你不使用 drupal 提供的功能来完成工作)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多