Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Определение поиска по базам данных
ТвойWeb » WebMaster класс » PHP/Perl » Определение поиска по базам данных

Страниц (1): [1]
 

1. kastyan - 09 Июня, 2008 - 16:13:39 - перейти к сообщению
Скажите каким методом замутить переключатель баз ?
Все базовые файлы расположены в разных папках в таких как forum , news ..... и т.д.
имеется ввиду: Искать Где ?
в Форуме
в Новостях
в Объявлениях
целиком по сайту
приведу в пример немного скрипта который как мне кажеться нужно переключать
CODE:
$lines = file("$datadir/$datafile"); $i=count($lines);
// первый цикл - подсчёт кол-во тем
$number="0";
do {$i--; $dt=explode("|", $lines[$i]);
$forumsid[$i]=$dt[0];
} while($i > "0");


$ii=count($forumsid);
// второй цикл - проверка последовательная сообщений в теме
do {$ii--;
$fid=$forumsid[$ii];


if (is_file("$datadir/$fid.dat")) {$file=file("$datadir/$fid.dat");}

if ((is_file("$datadir/$fid.dat")) && (sizeof($file)>"0"))
{
$iii=count($file); // $iii-кол-во сообщений в теме $fid.dat";
$lines = file("$datadir/$fid.dat");
2. Furax - 09 Июня, 2008 - 22:32:02 - перейти к сообщению
Ну так, насколько я понимаю, надо $datadir и $datafile задавать в зависимости от того, где идёт поиск.
3. kastyan - 10 Июня, 2008 - 06:56:25 - перейти к сообщению
ага можно какнебудь Инпутами замутитть переключетель ?
4. Furax - 10 Июня, 2008 - 08:39:36 - перейти к сообщению
CODE:
<input type="radio" name="where" value="forum">На форуме
<input type="radio" name="where" value="news">В новостях

...

switch ($_POST['where'])
{
case 'forum':
$datadir = 'ipb';
break;

case 'news':
$datadir = 'mynews';
break;

default:
die("Где-где? О_о");
}
5. kastyan - 10 Июня, 2008 - 11:22:38 - перейти к сообщению
хорошо , а как быть с boardbase.dat , newsbase.dat , mainforum.dat .
6. Furax - 10 Июня, 2008 - 11:45:24 - перейти к сообщению
Насколько я понимаю, первая строка кода из Твоего первого поста в этой теме открывает файл. Соответственно, под аргументом file() и надо сформировать нужное имя... Или формат хранения данных во всех этих файлах разный? Тогда такими простыми модификациями уже не обойтись...
7. kastyan - 10 Июня, 2008 - 11:57:03 - перейти к сообщению
Я кажись догнал что нужно менять boardbase.dat , newsbase.dat , mainforum.dat название всем на одинаковое , папки то разные .
поиск одинаковый только идёт замена в
CODE:
$lines = file("$datadir/$datafile"); $i=count($lines);
8. Furax - 11 Июня, 2008 - 00:57:47 - перейти к сообщению
Можно и имена прежние оставить:
CODE:
switch ($_POST['where'])
{
case 'forum':
$datadir = 'ipb';
$datafile = 'mainforum.dat';
break;

case 'news':
$datadir = 'mynews';
$datafile = 'newsbase.dat';
break;

default:
die("Где-где? О_о");
}
9. kastyan - 18 Июня, 2008 - 10:12:49 - перейти к сообщению
а как сделать искать везде ?
планирую сделать одну кнопку чтоб включала все разделы сайта
CODE:
<td><input type='checkbox' name='where' value='forum'>На сайте</td>
<td><input type='checkbox' name='where' value='forum'>На форуме</td>
<td><input type='checkbox' name='where' value='news'>В новостях</td>
<td><input type='checkbox' name='where' value='board'>В объявлениях</td>

оно как бы checkboxсами, можно понажимать на все руюрики , но скрипт выберет всего одну а не все
10. Furax - 18 Июня, 2008 - 23:45:39 - перейти к сообщению
Тогда лучше вынести алгоритм поиска в отдельную функцию
CODE:
function siteSearch($datadir, $datafile)
{
$lines = file("$datadir/$datafile"); $i=count($lines);
...
}
Чекбоксы должны иметь разные имена:
CODE:
<td><input type='checkbox' name='searchAtSite' value='forum'>На сайте</td>
<td><input type='checkbox' name='searchInForum' value='forum'>На форуме</td>
<td><input type='checkbox' name='searchInNews' value='news'>В новостях</td>
<td><input type='checkbox' name='searchInBoard' value='board'>В объявлениях</td>
И дальше делать что-то вроде
CODE:
if (isSet($_POST['searchAtSite'])) siteSearch('site', 'sitedata.txt');
if (isSet($_POST['searchInForum'])) siteSearch('forum', 'furum.txt');
...

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0378]     [ Gzipped ]