[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужна доработка скрипта
timpnz
По быстрому набросал скрипт для поиска по предпологаемому каталогу товаров, который хранится не в БД, а в текстовых файлах.
Формат файла (goods.txt) такой:

HTML
5|2|mp3 плеер iPod 1Гб.||||||1|1960.00|68.77|1820.00|||0.00|||;2;5;
6|3|mp4 плеер iPod 1Гб.||||||1|2030.00|71.22|1885.00|||0.00|||;3;6;
2|4|LG|LG|DVDLG1||||1|2380.00|83.50|2210.00|||0.00|||;4;2;
1|4|Toshiba|Toshiba|DVDtosh1||||1|2100.00|73.68|1950.00|||0.00|||;4;1;
7|5|Домашний кинотеатр Toshiba |Домашний кинотеатр Toshiba |||||1|8400.00|294.73|7||0.00|||;5;7;
4|6|LG LCD|LG LCD|||||1|29400.00|1031.57|27300.00|||0.00|||;6;4;



Это сам скрипт:

PHP
<? 

$filebasa "/goods.txt";
$fileb file($filebasa);

foreach (
$fileb as $key => $value) {

$dt explode ("|"$value);


$text $_POST['text'];
$text strtolower($text);
$url $value;
   
$www stristr($url,"$text");
  

$dt2 explode (";"$www);



if(
$dt2[1]==$dt[1]) { echo "<a href=safe.php?groopmore=$dt[0]>"; if ($dt2[1]==$dt[1]) { echo " $dt[2]</a><br>Стоимость: $dt[9]<br>Описание:<br>$dt[15]<br><hr>" ;}
}





А это форма запроса:

HTML
<form action='search.php' method=POST>
<input name='text' type='text' value=''>&nbsp;&nbsp;
<input type='submit' value='Поиск по коталогу'>&nbsp;
</form>


Работу скрипта можно здесь посмотреть работа поискового скрипта

Так вот народ, если не затруднит, как и чем можно его ещё доработать для лучшего поиска, но чтоб оставался этот скрипт таким же простым как веник... biggrin.gif .



Спустя 10 часов, 13 минут, 24 секунды (6.03.2009 - 23:18) kirik написал(а):
Цитата (timpnz @ 6.03.2009 - 05:05)
чем можно его ещё доработать для лучшего поиска

Базой данных smile.gif

Цитата (timpnz @ 6.03.2009 - 05:05)
скрипт таким же простым как веник...

Да он и так простой, единственное я бы заменил foreach на for (будет жрать в 2 раза меньше памяти) и не пойму зачем две проверки if($dt2[1]==$dt[1]), а точнее зачем они вообще нужны? smile.gif

Вариант такой:
PHP
if(isset($_POST['text']))
{
    
$file file('./goods.txt');
    
    for(
$i 0$c count($file); $i $c$i++)
    {
        if(
stristr($file[$i], $_POST['text'])) // сначала смотрим есть-ли совпадения, а потом уже работаем со строкой.
        
{
            
$data explode ('|'$file[$i]);
            echo 
'<a href="safe.php?groopmore='.$data[0].'">'.$data[2].'</a><br>Стоимость: '.$data[9].'<br>Описание:<br>'.$data[15].'<br><hr>';
        }
    }
}


_____________
Alitim Я не волшебник, я только учусь...
Быстрый ответ:

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