Forum Webscript.Ru

Программирование => PHP => Тема начата: Stripped от 02 Апреля 2003, 20:27:47

Название: поиск в текстовой базе!!!!
Отправлено: Stripped от 02 Апреля 2003, 20:27:47
Приветствую!
Помогите пожалуйста!
Есть форма для поиска:




     
   

Известные данные:
Искать по:





Есть база данных вида:
ПЖРЭО|Калининский район|Кирова|9|2|35-37-89|40-01-44

Помогите написать скрипт поиска по этой базе. Вот, что
у меня получилось, но не позволяет находить по короткому имени, вида:
Есть запись ПЖРЭО, но помню только ПЖ, чтобы вывел все записи в базе.
И он почему-то не выводит все записи, если существует несколько под одним
именем, вида:
ПЖРЭО|...
ПЖРЭО|...

Вот скрипт:
include ("up.htm");
$array_bann = file (\'base.txt\');
$File = fopen ("base.txt", "r");
for($i=0; $i <= sizeof($File); $i++)
{
$read = fgets($File, 1000); // счтиваем файл
$data_cols=explode ("|", $array_bann[$i]);
if (ereg($zapros,$data_cols[$selform])){
echo("$data_cols[0]\\n");
echo("$data_cols[1]\\n");
echo("$data_cols[2]\\n");
echo("$data_cols[3]\\n");
echo("$data_cols[4]\\n");
echo("$data_cols[5]\\n");
echo("$data_cols[6]");}
}
include ("down.htm");
?>
Почему-то еще ошибка выскакивает... помогите!
Название: поиск в текстовой базе!!!!
Отправлено: Меняздесьдавнонет от 02 Апреля 2003, 21:13:18
кросспостинг :-)
http://www.xpoint.ru/cgi-bin/forum.cgi?action=thread&id=19237
Название: поиск в текстовой базе!!!!
Отправлено: Tronyx от 02 Апреля 2003, 21:14:18
Цитировать
Stripped:
Почему-то еще ошибка выскакивает... помогите!

А какая ошибка и где она выскакивает это секрет, я правильно понимаю?

А какой примерно размер базы (число записей)? Может лучше это всё в "нормальную" БД перенести.
Название: поиск в текстовой базе!!!!
Отправлено: Stripped от 02 Апреля 2003, 21:20:51
Мне подсказали, что должно быть так:
$File = file ("base.txt");
foreach ($File as $stroka)
{
$data_cols=explode ("|", $stroka);
if (ereg($zapros,$data_cols[$selform])){
echo("$data_cols[0]\\n");
echo("$data_cols[1]\\n");
echo("$data_cols[2]\\n");
echo("$data_cols[3]\\n");
echo("$data_cols[4]\\n");
echo("$data_cols[5]\\n");
echo("$data_cols[6]");}
}

Но и тут в 10 строке ошибка. А когда оставляю только $data_cols без тегов, то появляется много одинаковых записей. А база сама 1000 записей. Но я подумал, что в текстовом варианта будет лучше. А у вас нет примера работы с "нормальной" базой?
Название: поиск в текстовой базе!!!!
Отправлено: Макс от 02 Апреля 2003, 23:28:50
Stripped
[off]прочти правила форума (http://forums.webscript.ru/showthread.php?s=&threadid=9647&msgnum=0) сначало (особенно пункт 4)[/off]