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

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

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

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Определение поиска по базам данных
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


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

> Описание: нужен переключатель баз даных
kastyan
Отправлено: 09 Июня, 2008 - 16:13:39
Post Id



Кипяток


Покинул форум
Сообщений всего: 280
Дата рег-ции: Июль 2005  

Карма 0




Скажите каким методом замутить переключатель баз ?
Все базовые файлы расположены в разных папках в таких как 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");
 
 Top
Furax
Отправлено: 09 Июня, 2008 - 22:32:02
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Ну так, насколько я понимаю, надо $datadir и $datafile задавать в зависимости от того, где идёт поиск.
 
 Top
kastyan
Отправлено: 10 Июня, 2008 - 06:56:25
Post Id



Кипяток


Покинул форум
Сообщений всего: 280
Дата рег-ции: Июль 2005  

Карма 0




ага можно какнебудь Инпутами замутитть переключетель ?
 
 Top
Furax
Отправлено: 10 Июня, 2008 - 08:39:36
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




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("Где-где? О_о");
}
 
 Top
kastyan
Отправлено: 10 Июня, 2008 - 11:22:38
Post Id



Кипяток


Покинул форум
Сообщений всего: 280
Дата рег-ции: Июль 2005  

Карма 0




хорошо , а как быть с boardbase.dat , newsbase.dat , mainforum.dat .
 
 Top
Furax
Отправлено: 10 Июня, 2008 - 11:45:24
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Насколько я понимаю, первая строка кода из Твоего первого поста в этой теме открывает файл. Соответственно, под аргументом file() и надо сформировать нужное имя... Или формат хранения данных во всех этих файлах разный? Тогда такими простыми модификациями уже не обойтись...
 
 Top
kastyan
Отправлено: 10 Июня, 2008 - 11:57:03
Post Id



Кипяток


Покинул форум
Сообщений всего: 280
Дата рег-ции: Июль 2005  

Карма 0




Я кажись догнал что нужно менять boardbase.dat , newsbase.dat , mainforum.dat название всем на одинаковое , папки то разные .
поиск одинаковый только идёт замена в
CODE:
$lines = file("$datadir/$datafile"); $i=count($lines);

(Отредактировано автором: 10 Июня, 2008 - 11:58:49)

 
 Top
Furax
Отправлено: 11 Июня, 2008 - 00:57:47
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Можно и имена прежние оставить:
CODE:
switch ($_POST['where'])
{
case 'forum':
$datadir = 'ipb';
$datafile = 'mainforum.dat';
break;

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

default:
die("Где-где? О_о");
}
 
 Top
kastyan
Отправлено: 18 Июня, 2008 - 10:12:49
Post Id



Кипяток


Покинул форум
Сообщений всего: 280
Дата рег-ции: Июль 2005  

Карма 0




а как сделать искать везде ?
планирую сделать одну кнопку чтоб включала все разделы сайта
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сами, можно понажимать на все руюрики , но скрипт выберет всего одну а не все
 
 Top
Furax
Отправлено: 18 Июня, 2008 - 23:45:39
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Тогда лучше вынести алгоритм поиска в отдельную функцию
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');
...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


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

[Script Execution time: 0.0508]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33