[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск пользователей на сайте
bortmehannik
Здравствуйте
Столкнулся с такой проблемой, что не получается сделать поиск пользователей на сайте
Есть страница, где выводятся все пользователи
session_start();
# Составляем запрос
$sql = "SELECT * FROM auth_userprofile WHERE `user_id` != '$_SESSION[user_id]'";
# Выполняем запрос
$query = mysql_query($sql);
# В случаи неудачи с запросом выводим ошибку на экран
if (!$query):
mysql_error();
else: # Если же всё в порядке, переходим к циклу
while($user = mysql_fetch_assoc($query)): ?>

<div class="block-size1"><img src="<?=getProfileMiniImage($user["user_id"])?>" alt="Аватар" class="avatar img-circle img-responsive users_size">

<
a href="#" class="users_info" user_id="<?=$user['user_id'] ?>"><?=$user['name']."<br>"; ?></a>
<?php if ($_SESSION['level_group']=='3'): ?>
<a href="#" class="add_friend" users_ids="<?=$user['user_id']; ?>">Добавить в друзья<br></a>
<?php endif; ?>
<a href="messages.php?to=<?=$user['user_id']; ?>">Отправить сертификат на проверку</a>
</
div>
<?php
endwhile;
endif;
?>

Как сделать так, что бы при вводе к примеру имени, выводились все люди с этим именем.
Пытался сделать так, но не получается:
<form name="search" method="post" action="users.php">
<input type="search" name="query" placeholder="Поиск">
<button type="submit">Найти</button>
</form>
<?php 
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'diploma_test');

if (!mysql_connect(DB_HOST, DB_USER, DB_PASS)) {
exit('Cannot connect to server');
}
if (!mysql_select_db(DB_NAME)) {
exit('Cannot select database');
}

mysql_query('SET NAMES utf8');

function search ($query)
{
$query = trim($query);
$query = mysql_real_escape_string($query);
$query = htmlspecialchars($query);

if (!empty($query)) {
if (strlen($query) < 3) {
$text = '<p>Слишком короткий поисковый запрос.</p>';
} else if (strlen($query) > 128) {
$text = '<p>Слишком длинный поисковый запрос.</p>';
} else {
$q = "SELECT `name` FROM `auth_userprofile` WHERE `name` LIKE '%query%' OR `name`";

$result = mysql_query($q);

if (mysql_affected_rows() > 0) {
$row = mysql_fetch_assoc($result);
$num = mysql_num_rows($result);

$text = '<p>По запросу <b>'.$query.'</b> найдено совпадений: '.$num.'</p>';
}
}

}

return $text;
}
if (!empty($_POST['query'])) {
$search_result = search ($_POST['query']);
echo $search_result;
}
?>

Заранее благодарю за помощь
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.