[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: решение задачи.... давным давно задавал "twin"
Ricco381
Мое творчество...

config.php

<?php

$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db = 'test';

@$mysqli = new mysqli($db_host, $db_user, $db_pass, $db);

if ($mysqli->connect_errno){
echo 'Нет подключения с базой данных ' . $mysqli->connect_error;
exit();
}

$mysqli->set_charset('utf8');


index.php

<?php

error_reporting(-1);

include 'config.php';

/**
* Проверка на наличие данных из формы регистрации
*/

if (isset($_POST['reg']) && !empty($_POST['login'])) {
$login = $mysqli->real_escape_string(trim($_POST['login']));
reg($login);

header('Location: ' . $_SERVER['REQUEST_URI']);
}

/**
* Проверка на наличие данных из формы поиска
*/

if (isset($_GET['search']) && !empty($_GET['item'])) {

$item = $mysqli->real_escape_string(trim($_GET['item']));

$search = search($item);
}

/**
* Функция для запросов к базе данных и возврата результата
*/

function query($sql) {
global $mysqli;

$result = $mysqli->query($sql) OR die($mysqli->error);

/**
* Если вернулся объект, ложим результаты в массив и возвращаем данные
*/

if (is_object($result)) {
$data = array();

while ($res = $result->fetch_assoc()) {
$data[] = $res;
}

return $data;
}

}


/**
* Регистрация пользователя
*/

function reg($login) {
$sql = "INSERT INTO `names`
(`name`)
VALUES ('"
.$login."')";

query($sql); //Посылаем запрос
}

/**
* Вывод всех пользователей
*/

function get_users() {
$sql = "SELECT * FROM `names` ORDER BY `id` DESC";
$users = query($sql);

$users['count'] = count($users); //Считаем сколько всего юзеров

return $users;
}

/**
* Поиск по юзерам
*/

function search($item) {
$item = addcslashes($item, '%_'); //Экранируем символ "%" и "_" для поиска

$sql = "SELECT `name` FROM `names` WHERE `name` LIKE '%".$item."%' ";
$result = query($sql);

return $result;
}

/**
* Достаем всех пользователей
*/

$all_user = get_users();

include 'templates.tpl';


templates.tpl

<!DOCTYPE html>
<html lang="ru">
<head>
<meta
charset="UTF-8">
<title>
Регистрация</title>
</head>
<body>
<form
action="<?=$_SERVER['REQUEST_URI']?>" method="post">
<input
type="text" name="login" placeholder="Ваш логин">
<input
type="submit" name="reg" value="Регистрация">
</form>
<p></p>

Всего пользователей: <?=$all_user['count']?></br>

<?php
foreach ($all_user as $key => $value) { ?>
<a
href="?id=<?=$value['id']?>"><?=htmlspecialchars($value['name'])?></a>
<?php
if (isset($_GET['id']) && $_GET['id'] == $value['id']) {?>
<?=
$value['date']?>
<?php
} ?><br/>
<?php
} ?>

<form
action="<?=$_SERVER['REQUEST_URI']?>" method="get">
<input
type="text" name="item" placeholder="Искать">
<input
type="submit" name="search" value="Найти">
</form>

<p></p>
<?php
if (isset($search)) { ?>
<p>
Найдено <?=count($search)?> пользователей</p>
<?php
foreach ($search as $value) { ?>
<?=
htmlspecialchars($value['name'])?> <br>
<?php
} } ?>

</body>
</html>


Ну вот как то так)

Посмотреть работу скрипта можно здесь тЫЦ
К стати, на этом хостинге не работает mysqli_result::fetch_all, пришлось оставлять как есть.
Быстрый ответ:

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