[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Реализовать код как в vk
amaiUser
В вк вы ищете человека например Ивана Иванова поиск вам выдает 4 таких пользователя они насколько я понимаю выводятся из базы и кликнув на нужного вы переходите на его страницу. Как мне примерно такой же код реализовать на php ? У меня есть база данных с пользователями я могу циклом выводить их а дальше как сделать переход на их страницы не знаю
sg.com
Что бы найти всех Иван Ивановичей на стороне php можно использовать ф. stripos, но можно и запросом в БД делать поиск по подстроке. Ну, потом по идентификатору (уникальному id или что-то вроде того, идентификационому номеру, серии и номеру паспорта и проч.) делать вывод данных конкретного Иван Ивановича в шаблон например.
Valick
Цитата (amaiUser @ 26.03.2025 - 15:18)
а дальше как сделать переход на их страницы не знаю

Переход на нужную страницу - это обычная ссылка по адресу которой открывается детальная страница пользователя. Для того, что бы открыть искомую страницу надо GET параметром передать уникальный идентификатор пользователя, по которому и произойдёт выборка информации. В простейшем случае это id записи пользователя в БД.

_____________
Стимулятор ~yoomoney - 41001303250491
Kusss
Запрос через базу данных. и будет это выглядеть примерно следующим образом.
<?php
// тут подключение к БД
include '_connect.php';

if (isset($_POST['search'])){

$search = trim($_POST['search']);
$search = substr($search, 0, 64);
if (strlen($search) < 1 ){
die('Запрос менее 2 символов');
}

$search_db = $mysqli->real_escape_string($search);

// прямой поиск
$where_momber = "
m.`surname` LIKE '
$search_db%' OR
m.`name` LIKE '
$search_db%'
"
;
$word = explode(' ', $search_db);
$count_word = count($word);
// Если слов больше одного
if ($count_word > 1) {
$where_momber = "(
m.`surname` LIKE '"
. $word[0] ."%' AND m.`name` LIKE '". $word[1] ."%' OR
m.`surname` LIKE '"
. $word[1] ."%' AND m.`name` LIKE '". $word[0] ."%'
) "
;

}
$sql = "
SELECT
m.*
FROM
`member` AS m
WHERE
m.`hide` = 0 AND

$where_momber
ORDER BY
surname
"
;

//echo '<pre>'. $sql .'</pre>';
$result = $mysqli->query($sql) or die( $mysqli->error ) ;
$num_rows = $result->num_rows;

if ($num_rows > 0){
echo 'Найдено <b>'. $num_rows .'</b> совпадений';
$i = 1;
while ($value = $result->fetch_assoc() ){
echo '<br>'. $i++ .' <a href="member.php?id='. $value['id'] .'">'. $value['surname'] .' '. $value['name'] .'</a>';
}
}
}
Быстрый ответ:

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