Улучшение поиска пользователей.

#1 21 марта 2012 в 21:56
Здравствуйте.
Требуется помощь с поиском пользователей.
Значит у меня есть модуль на главной.
Улучшение №1.
При поиске пользователей, например если указать возраст 18-20 лет, то 20-ти летних пользователй он уже не найдет. А если указать 18-21, то 20-ти летних понятное дело найдет, а 21 уже нет.
Улучшение №2.
Нужна функция, чтобы поиск выдавал страницы только тех пользователей, у которых установлен аватар. Всем известный поиск "Только с фото" так сказать.
Буду признателен за помощь.
#2 21 марта 2012 в 22:14
SpideR-KOSS, на счёт первого пункта:
  1. if ($_REQUEST['agefrom']){
  2. $val = $inCore->request('agefrom', 'int', 18);
  3. $s .= ' AND DATEDIFF(NOW(), u.birthdate) >= '.($val*365);
  4. $stext[] = $_LANG['NOT_YOUNG']." $val ".$_LANG['YEARS'];
  5. }
  6. if ($_REQUEST['ageto']){
  7. $val = $inCore->request('ageto', 'int');
  8. $s .= ' AND DATEDIFF(NOW(), u.birthdate) <= '.($val*365);
  9. $stext[] = $_LANG['NOT_OLD']." $val ".$_LANG['YEARS'];
  10. }
В функции указывается <=, так что должно быть меньше или равному значению.
2) сделать можно
#3 21 марта 2012 в 22:20


SpideR-KOSS, на счёт первого пункта:

  1. if ($_REQUEST['agefrom']){
  2. $val = $inCore->request('agefrom', 'int', 18);
  3. $s .= ' AND DATEDIFF(NOW(), u.birthdate) >= '.($val*365);
  4. $stext[] = $_LANG['NOT_YOUNG']." $val ".$_LANG['YEARS'];
  5. }
  6. if ($_REQUEST['ageto']){
  7. $val = $inCore->request('ageto', 'int');
  8. $s .= ' AND DATEDIFF(NOW(), u.birthdate)
  9.  

WALTERZ
Да, в функции указано именно данное значение. Но факт в том что оно не срабатывает.
#4 21 марта 2012 в 22:46
SpideR-KOSS, функция поиска только с фото:
  1. if ($_REQUEST['imageurl']){
  2. $val = $inCore->request('imageurl', 'str', '');
  3. if ($val=='foto'){
  4. $s .= " AND p.imageurl != ''";
  5. $stext[] = Только с фото;
  6. }
#5 21 марта 2012 в 23:06


SpideR-KOSS, функция поиска только с фото:

  1. if ($_REQUEST['imageurl']){
  2. $val = $inCore->request('imageurl', 'str', '');
  3. if ($val=='foto'){
  4. $s .= " AND p.imageurl != ''";
  5. $stext[] = Только с фото;
  6. }

WALTERZ
Спасибо за помощь, но выдается ошибка "Parse error: syntax error, unexpected T_STRING in S:\home\dating.ru\www\components\users\frontend.php on line 201".
#6 22 марта 2012 в 02:45
  1. $stext[] = 'Только с фото';
строку в кавычки заключите…
#7 22 марта 2012 в 13:08


  1. $stext[] = 'Только с фото';
строку в кавычки заключите…

• Mike •
Заключил, теперь вот это — "Parse error: syntax error, unexpected $end in S:\home\dating.ru\www\components\users\frontend.php on line 2858".
#8 22 марта 2012 в 13:20
  1. if ($_REQUEST['imageurl']){
  2. $val = $inCore->request('imageurl', 'str', '');
  3. if ($val=='foto'){
  4. $s .= " AND p.imageurl != ''";
  5. $stext[] = 'Только с фото';
  6. }
  7. }
#9 22 марта 2012 в 13:31


  1. if ($_REQUEST['imageurl']){
  2. $val = $inCore->request('imageurl', 'str', '');
  3. if ($val=='foto'){
  4. $s .= " AND p.imageurl != ''";
  5. $stext[] = 'Только с фото';
  6. }
  7. }

FreeLancer
Спасибо, теперь ошибка исчезла. Но поиск ищет так же, как и раньше, показывает пользователей и без аватара. Может надо что-то в com_user_view.tpl добавить?
#10 22 марта 2012 в 13:35

Спасибо, теперь ошибка исчезла. Но поиск ищет так же, как и раньше, показывает пользователей и без аватара. Может надо что-то в com_user_view.tpl добавить?

SpideR-KOSS
Не знаю, я лишь исправил ошибку в коде. Чтобы работало — нужно более детально запрос смотреть. К сожалению сейчас мне некогда этим заняться.
#11 22 марта 2012 в 13:41


Спасибо, теперь ошибка исчезла. Но поиск ищет так же, как и раньше, показывает пользователей и без аватара. Может надо что-то в com_user_view.tpl добавить?

SpideR-KOSS
Не знаю, я лишь исправил ошибку в коде. Чтобы работало — нужно более детально запрос смотреть. К сожалению сейчас мне некогда этим заняться.

FreeLancer
Все равно спасибо за помощь. smile
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.