Пейджер Drupal не будет работать с LIKE в запросе

Я не могу заставить это работать при использовании запроса с LIKE. Пример:

$sql = " SELECT DISTINCT u.uid, u.name, u.status, u.created, u.access FROM d_bi_test_2_shared.users u LEFT JOIN d_bi_test_2.users_roles ur ON u.uid = ur.uid WHERE u.uid != 0 AND LOWER(u.name) LIKE LOWER('%%er%%') ";
$sqlCount = " SELECT COUNT(*) FROM d_bi_test_2_shared.users u LEFT JOIN d_bi_test_2.users_roles ur ON u.uid = ur.uid WHERE u.uid != 0 AND LOWER(u.name) LIKE LOWER('%%er%%') ";
$count = 3;
$query = pager_query($sql, 5, 0, $sqlCount);
$output.=theme('pager', $count);

Это не дает мне никакого пейджера вообще. Если я уберу LIKE, это сработает, но мне нужно так искать мою форму.


person EricP    schedule 09.06.2011    source источник
comment
Вы запускали запрос в самом MySQL, не используя Drupal? Когда вы это сделали, qeury вернул какие-либо результаты? Кажется, вы неправильно понимаете %; вам, вероятно, нужен только один%, например (%er%).   -  person berkes    schedule 11.08.2011
comment
Будет ли это работать, если вы удалите DISTINCT?   -  person ypercubeᵀᴹ    schedule 22.01.2012


Ответы (1)


попробуйте CONCAT('%%',LOWER(er),'%%')

person jmc734    schedule 15.08.2011