2016-03-13 4 views
0

Я написал запрос, который получает название узла в соответствии с «идентификатором термина» для типа содержимого «портфолио». Теперь я хочу получить «название узла» в соответствии с символом, что означает, что я хочу для использования предложения «LIKE» в следующем запросе. Если пользователь вводит «a» или «A», тогда все узловые плитки из этих символов должны быть выбраны.Хотите использовать предложение LIKE

<?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; 
    } 
?> 
+0

Я отредактировал ваш код и удалил все ненужные круглые скобки – sagi

ответ

0

СКП должен быть что-то вроде

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
сделки с использованием API, предоставленное Друпал для написания запросов вместо исходного SQL как этот случай

php mysqli prepared statement LIKE
Как пользоваться подготовленные заявления с LIKE (если вы не используете функции, предоставленные drupal для выполнения работы)

Смежные вопросы