|
|
|
| $sn - имя искомого значения, $dir - файл БД, в которой ищется.
ВНИМАНИЕ: функция должна выдать значения ключа, соответствующее значению искомого.
Работа идёт с плоскими файлами, но думаю, что ошибка в чём-то элементарном. Браузер ошибку не пишет, значит тут ошибка в идее.
function nax($sn, $dir)
{
$fw = dba_open($dir, "r", "flatfile");
$b = dba_firstkey($fw);
if (dba_fetch($b, $fw) == $sn)
{
dba_close($fw);
return $b;
}
else
{
for (;;)
{
$c = dba_nextkey($fw);
if (dba_fetch($c, $fw) == $a)
{
return $c;
break;
}
}
}
@dba_close($fw);
}
| . | |
|
|
|
|
|
|
|
для: Bubba
(24.01.2008 в 16:43)
| | if (dba_fetch($c, $fw) == $a) - а если все не равны? | |
|
|
|
|
|
|
|
для: Bubba
(24.01.2008 в 16:43)
| | for (;;) - зачем? | |
|
|
|
|
|
|
|
для: mihdan
(24.01.2008 в 17:36)
| | Бесконечный цикл...
Ответьте пожалуйста по теме. Если этот код сделать не как функция и return заменить на echo, то всё работает правельно!!! Вы мне скажите, как эту тему сделать функцией! | |
|
|
|
|
|
|
|
для: Bubba
(24.01.2008 в 16:43)
| | $a - неопределенная переменная | |
|
|
|
|
|
|
|
для: Trianon
(26.01.2008 в 02:01)
| | И если она берётся извне функции, то попробуйте в начале её написать global $a; | |
|
|
|