Мачете
|
| Mon Jul 3 20:38:17 2006 |
Re: Работа с MS Access через Perl Ну если перебирать все 600000 строк в цикле, то и Perl и PHP задумаются на несколько минут. Perl конечно раза в полтора быстрее PHP, но обычно такие объемы данных обрабатываются в SQL-запросах, а языки только выводят на экран результаты в тех объемах, которые способен отобразить браузер. Короче я не буду обучать языку SQL, его семантику можно посмотреть в том-же конструкторе запросов MS ACCESS, а в PHP с Access работают так. Подключаемся к базе данных, находящейся в файле C:\mydb.mdb @$CONN=odbc_connect("Driver=Microsoft Access Driver (*.mdb); DBQ=C:\\mydb.mdb;","",""); Теперь можем работать с дескриптором $CONN. Посылаем SQL-запрос (например на получение всех данных из таблицы [my_table]: $r=odbc_exec($CONN,"select * from my_table"); Через переменную $r можно получать результаты. Есть функция, которая сразу выводит весь результат в HTML-таблицу, но профессионалы все-таки любят собственное оформление. Получить строку результата можно так: $result=odbc_fetch_array ($r); При этом указатель автоматически перечещается на следующую строку. Переменная $result - ассоциативный массив, в котором содержатся все значения столбцов. Так значения столбца Code текущей строки лежит в переменной $result["Code"]. Вообще полный вызов функции odbc_fetch_array ($r,[numstr]), где numstr - номер нужной строки. При указании второго параметра вы соответственно перемещаете и указатель строк. Количетсво строк результата можно было-бы получить с помощью функции odbc_num_rows($r), но в большинстве случаев эта функция возвращает false. Поэтому при обработке результата нужно проверять $result. Если $result===false, то строки кончились. В принципе при помощи трех указанных функций можно обработать любые базы данных, но если интересуетесь, то полный список функций PHP касательно ODBC можно без проблем найти в инете.
|
|