Помощь реализовать поиск по сайту

dmx

Хранитель порядка
Регистрация
22 Июн 2011
Сообщения
715
Реакции
708
топик по просбеДля просмотра ссылки Войди или Зарегистрируйся

QUOTE/ Вообщем есть сайт на html На него нужно поставить поиск Суть поиска Я создаю в директорИи сайта файл туда вписываю данные Допустим Порядковый номер 555598 Имя Анна Отчество Николаевна Фамилия Разина Год рождения 1896 Таких данных будет много в этом файле Нужно чтобы введя в строку поиска порядковый номер Находился человек с этим номером только один а не все которые в файле...
Либо можно сделать по другому создать админку из которой можно будет добавлять пользователей У каждого пользователя будет отдельная страница, чтобы все они создавались в отдельной папке заголовок файла это порядковый номер пользователя И поиск чтобы тупо искал только по названиям файлов в определенной папке
 
В идеале это должно выглядеть так
Код для вставки на станицу с формой поиска
Код для вставки на страницу для вывода найденной информации
Ну и сам файл в который будет пиСаться информация (добавляться)
Желательно простенькая админка через которую можно будет добавлять пользователей для поиска
 
Эм... Иноды лишние в файловой системе?

Что мешает хранить в БД и дёргать по любому полю? Пишется за 20-30 минут, если без проверок и прав доступа...

P.s. за хранение персональных данных в таком виде получить можно по шеи...
 
Да сайт на html
Там нет базы, 5 статичных страниц. , все.

Да там не нужно никаких проверок, просто чтобы выдавал одного человека найденного по порядковому номеру
Людей я сам буду добавлять желательно сделать что то типа админки для добавления
 
Последнее редактирование модератором:
Что мешает создать? Хостинг без PHP/MySQL? Они выжили ещё?

На чём тогда делать предлагаешь? JS в файловую систему писать не умеет...
 
PHP:
<?php

if (!empty($_GET['number'])) {

    $file = file_get_contents('data.txt');
    $strings = explode(PHP_EOL, $file);

    foreach ($strings as $string) {
        $elements = explode(' ', $string);
        if ($elements[0] == $_GET['number']) {
            $data = [
                'name' => $elements[2] . ' ' . $elements[4] . ' ' . $elements[6],
                'birthday' => $elements[9]
            ];
            break;
        }
    }

    if(!empty($data)) {
        echo 'Пользователь: ' . $data['name'] . '<br> Дата рождения: ' . $data['birthday'];
    }else{
        echo 'Пользователя с таким номером - нет!';
    }
}
содержимое data.txt:
555555 Имя Анна Отчество Николаевна Фамилия Разина Год рождения 1896
444444 Имя Анна Отчество Николаевна Фамилия Разина Год рождения 1896
333333 Имя Анна Отчество Николаевна Фамилия Разина Год рождения 1896

шлешь код на файлик Для просмотра ссылки Войди или Зарегистрируйся и видишь результат.
А как слать дело за малым. Можешь простую форму под это дело написать, можешь аяксом.
Но как написал "Горбушка" - лучше в базе хранить сие. Хотя бы в SqLite.
А вид данных в файле проще если - массив сериализованый.
 
  • Нравится
Реакции: Nei
@javx, добавь туда 200 000 строк и офигей от скорости работы )))) Перебирать все строки - это просто зверство...

Я по этому и спрашиваю - что мешает БД добавить? Написать скрипт я могу, не проблема...
На БД будет меньше нагрузка + поиск по любому полю + админка + защита паролем

А так - дикая нагрузка + по шапке за хранение персональных данных в открытом виде
 
@javx, добавь туда 200 000 строк и офигей от скорости работы )))) Перебирать все строки - это просто зверство...

Я по этому и спрашиваю - что мешает БД добавить? Написать скрипт я могу, не проблема...
На БД будет меньше нагрузка + поиск по любому полю + админка + защита паролем

А так - дикая нагрузка + по шапке за хранение персональных данных в открытом виде
ну я отталкивался от поставленной задачи. Лично я бы так задачу не ставил :glob:
 
@javx, добавь туда 200 000 строк и офигей от скорости работы )))) Перебирать все строки - это просто зверство...

Я по этому и спрашиваю - что мешает БД добавить? Написать скрипт я могу, не проблема...
На БД будет меньше нагрузка + поиск по любому полю + админка + защита паролем

А так - дикая нагрузка + по шапке за хранение персональных данных в открытом виде

ИМХО нормальное простое решение предложено.
Защитить паролем через .htpasswd папку - делов-то))
Думаю, там меньше, чем 200К строк подразумевается.
 
Ну я не знаю как лучше на хостинге естественно есть все и базы и php просто сам сайт не придется переделывать из за этого?
 
Назад
Сверху