Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Организация поисковой формы + сам поиск по файлу
 
 автор: TetRiska   (16.12.2009 в 22:07)   письмо автору
42.9 Кб
 
 

Всем привет. Пытаюсь усовершенствовать свои навыки работы без БД, т.е. с файлами. Редактирование, добавление и удаление решил. Остался поиск сделать. Пока гениальных мыслей нет, чтобы сделать правильно. Собственно начну я с формы, а далее перейду к поиску. Надеюсь на Вашу поддержку и помощь.

Форма и с чем ее едят

Если отправлять данные постом, то поиск можно осуществить, данные выведутся...Но проблема возникнет когда мы захотим отредактировать/удалить эти данные. Т.е. одну запись отредактируем/удалим, а т.к. уже будет другой пост, найденные данные придется заново искать, что не есть хорошо.

Если отправлять данные гетом, то поиск тоже осуществиться, с передачей всех параметров в адресной строке. И проблем с потерей этих не будет, как в предыдущем случае...Но слишком длинная адресная строка выходит и много лишнего, почему? Увидите сами, когда приложу форму.

Есть еще вариант извращаться над куками, но не знаю....

Собственно поиск нужен мне для чего? Чтобы найти определенный текст в файле по выбранным параметрам...Их будет 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");
}
?>

Может смотрится и глупо, но прошу помочь.

И еще...Чуть не забыл...Когда поиск будет осуществлен и запрашиваемое - найдено, нужно еще учитывать номер строки, в которой нашло. Для формы вывода нужно будет, чтобы производить удаление и редактировании.

Ниже прикрепил скрин формы вывода из файла данных, после поиска точно так должно выводить искомый результат.. Надеюсь на Ваше понимание и помощь.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования