| Всем привет. Пытаюсь усовершенствовать свои навыки работы без БД, т.е. с файлами. Редактирование, добавление и удаление решил. Остался поиск сделать. Пока гениальных мыслей нет, чтобы сделать правильно. Собственно начну я с формы, а далее перейду к поиску. Надеюсь на Вашу поддержку и помощь.
Форма и с чем ее едят
Если отправлять данные постом, то поиск можно осуществить, данные выведутся...Но проблема возникнет когда мы захотим отредактировать/удалить эти данные. Т.е. одну запись отредактируем/удалим, а т.к. уже будет другой пост, найденные данные придется заново искать, что не есть хорошо.
Если отправлять данные гетом, то поиск тоже осуществиться, с передачей всех параметров в адресной строке. И проблем с потерей этих не будет, как в предыдущем случае...Но слишком длинная адресная строка выходит и много лишнего, почему? Увидите сами, когда приложу форму.
Есть еще вариант извращаться над куками, но не знаю....
Собственно поиск нужен мне для чего? Чтобы найти определенный текст в файле по выбранным параметрам...Их будет 3: название, версия, текст...
Структура файла такова:
WinRar;1.065;http://test.ru/winrar.exe;супер программа для архивирования
WinZip;1.011;http://test.ru/winzip.exe;подобие winrar-a, но с другим алгоритмом сжатия
и тд
|
Приложу форму для поиска:
<?html
<form method="get" action=""><b>Поиск:</b> <input id="search_t" name="search_t" type="text" value="<?php echo $_GET['search_t']; ?>">
<select name="value">
<option value="1">Название</option>
<option value="2">Версия</option>
<option value="3">Текст</option>
</select>
<input align="absbottom" name="search" src="images/search.png" type="image" onClick="submit()"
value="Искать" title="Искать">
</form>
?>
|
Очень раздражает такая адресная строка:
http://localhost/denwer/addsoft/index.php?search_t=winrar&value=1&search.x=24&search.y=9&search=%C8%F1%EA%E0%F2%FC
Хочется красивого вида:
http://localhost/denwer/addsoft/index.php?search_t=winrar&value=1
Как достичь? Я понимаю, что когда сделав кнопку - картинкой, я удлинил адресную строку передачей координат нажатия, но хочется красивости и краткости.
Чтобы не медлить покажу как я осуществлял бы поиск если данные передавались постом. Но я код не доделал ибо мыслей по этому никаких, поиск облазил, находил варианты, пробовал, не вышло.
<?php
if(!empty($_POST['search_x']))
{
if($_POST['search_t'] == "")
$message_s[] = "<div align='center' style='margin-top:-15px; color:red; font-weight:bold'>Вы не указали искомое слово.</div>";
$arr = file("ver.txt");
for($i = 0; $i < count($arr); $i++)
{
list($name,$ver,$path,$text) = explode(";",$arr[$i]);
if($_POST['value'] == "1")
{
//обработка искомого слова с параметром "Название"
}
elseif($_POST['value'] == "2")
{
//обработка искомого слова с параметром "Версия"
}
elseif($_POST['value'] == "3")
{
//обработка искомого слова с параметром "Текст"
}
}
//шаблон формы куда выводим результат.......выложу скрином
include("tpl/edit.html");
}
?>
|
Может смотрится и глупо, но прошу помочь.
И еще...Чуть не забыл...Когда поиск будет осуществлен и запрашиваемое - найдено, нужно еще учитывать номер строки, в которой нашло. Для формы вывода нужно будет, чтобы производить удаление и редактировании.
Ниже прикрепил скрин формы вывода из файла данных, после поиска точно так должно выводить искомый результат.. Надеюсь на Ваше понимание и помощь. | |