Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: поиск пользователей по имени, фамилии
Форумы портала PHP.SU » » Работа с СУБД » поиск пользователей по имени, фамилии

Страниц (1): [1]
 

1. eramar - 26 Августа, 2011 - 15:12:40 - перейти к сообщению
Здравствуйте! Хочу сделать поиск пользователей. Есть
CODE (html):
скопировать код в буфер обмена
  1. <form action='find_friend.php'    method='post'>
  2.                         <br>
  3.                         <label>Поиск среди друзей:</label>
  4.                         <input type='text' name='search_fr'></input>
  5.                
  6.                          &nbsp;<button type='submit' name='find_fr' value='find_fr'>Искать</button>
  7.                         </form>


Делаю так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $query2 = mysql_query("select user_name,user_surname from profile where user_id in ('{$listD}')  ");
  3. $find_str=$_POST['find_fr'];
  4. str_replace(' ','',$find_str);
  5. while($res=mysql_fetch_assoc($query2))
  6. {
  7.         //$ns=$res['user_name'].$res['user_surname'];
  8.         //if(preg_match($pattern, $subject))
  9.  Как проверить вхождение $find_str в $res['user_name'].$res['user_surname'] ? Ведь можно ввести только имя, или только фамилию, и т.д.
  10. Помогите, пожалуйста, сделать выборку!
  11. }
  12.  
2. ams - 26 Августа, 2011 - 15:21:11 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $f = "Николай атата";
  2. if (strpos($f,'Николай') !== false)
  3.         echo 'Есть';
3. eramar - 26 Августа, 2011 - 15:23:45 - перейти к сообщению
а если в базе 10 пользователей с именем Николай, но разными фамилиями.
Человек вводит в строку поиска просто имя Николай, без Фамилии.
Как получить выборку 10 человек ?
4. Костэн - 26 Августа, 2011 - 15:41:49 - перейти к сообщению
eramar пишет:
а если в базе 10 пользователей с именем Николай, но разными фамилиями.
Человек вводит в строку поиска просто имя Николай, без Фамилии.
Как получить выборку 10 человек ?


CODE (SQL):
скопировать код в буфер обмена
  1. $request = mysql_query("SELECT user_name,user_surname FROM profile WHERE user_name = 'Николай'");
5. eramar - 26 Августа, 2011 - 15:52:25 - перейти к сообщению
в строке поиска можно ввести:
1.Михаил
2. Михаил Петров
3. Петров Михаил

в таблице есть поле user_name, user_surname

как получить выборку всех записей с именем в 1ом случае
а в остальных случаях по имени и фамилии?
6. ams - 26 Августа, 2011 - 17:45:27 - перейти к сообщению
eramar пишет:
1.Михаил

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `asd` WHERE user_name LIKE '%Николай%' OR user_surname LIKE '%Николай%'

eramar пишет:

2. Михаил Петров
3. Петров Михаил

Тут можешь строку разбивать на 2 (разделенный пробелы) и такойже запрос как выше

 

Powered by ExBB FM 1.0 RC1