Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка с условием при работе с .dbf 
:(
    Опции темы
ТРЕТЬ
Дата 2.11.2006, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner

Репутация: нет
Всего: 1



Делаю сейчас класс для работы с файлами типа .dbf
Вот что успел навоять...
Код

class DBF
{
    var $db_f;
    function DBF ($filename, $user, $pass)
    {
        if (!$this->db_f = dbase_open($filename, 2)) {
            $def = array(
              array("date",     "D"),
              array("name",     "C",  50),
              array("age",      "N",   3, 0),
              array("email",    "C", 128),
              array("ismember", "L")
            );
            if (!dbase_create($filename, $def)){
                echo ("totaly impossible to start working");
                exit();
            }    
            $this->db_f = dbase_open($filename, 2);
        }
    }
    
    function GetRecord ($i)
    {
        if ($i<=dbase_numrecords($this->db_f) && $i>=1) {
            $row = dbase_get_record_with_names($this->db_f, $i);
            return $row;
        }
        else {
            echo ("В таблице нет стольких записей");
            exit();
        }
    }
    
    function AddRecord ($field1, $field2, $field3, $field4, $field5)
    {
        dbase_add_record($this->db_f,array(
          $field1,
          $field2,
          $field3,
          $field4,
          $field5));
    }
    
    function DeleteRecord ($i)
    {
        if ($i<=dbase_numrecords($this->db_f) && $i>=1) {
            dbase_delete_record($this->db_f, $i);
        }
        else {
            echo ("В таблице нет стольких записей");
            exit();
        }
    }
    
}


Сейчас хочу сделать выборку (что-то вроде Select-а и Fetch-а в MySQL)... Только вот не могу придумать толковый способ как это сделать.
Есть идея бегать по всему файлу с dbase_get_record_with_names и проверять на совпадение с критерием поиска, но подозреваю, что это - изобретение велосипеда...
Если кто-то знает какие-то функции, которые тут можно заюзать, или есть ссылка на толковый мануал - помогите пожалуйста!
PM MAIL WWW ICQ   Вверх
ТРЕТЬ
Дата 2.11.2006, 01:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner

Репутация: нет
Всего: 1



Код

    function Select ($fieldname, $criteria)
    {
        for ($i=1, $k=1; i<=dbase_numrecords($this->db_f); $i++){
            $temp = dbase_get_record_with_names($this->db_f, $i);
            if ($temp[$fieldname] == $criteria) {
                $row[$k] = $temp;
            }
        }
        $row[$k]['name'] = "%";
        return $row;
    }


Вот что у меня за функция выборки получилась... 
$row[$k]['name'] = "%"; - это чтобы потом при обработке результатов знать когда остановиться...


Только вот сейчас начал тестировать, а у меня не узнаются функции dbase_... Для них какую библиотеку надо раскоментить? Или скачать надо? Нет, вроде не надо, потому как в мануалке оригинальной они есть (функции всмыле)...
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.