powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / помогите найти баги! (конвертирование *.dbf в MySQL)
7 сообщений из 7, страница 1 из 1
помогите найти баги! (конвертирование *.dbf в MySQL)
    #32556733
anais
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вначале введу в курс дела:
- есть файл формата *.dbf (импортировано из 1С)
- надо выложить в MySQL (частота обновления) 1 раз в 3 дня
_____________________________________________________________
<?php
include("include.php");

//-- класс таблица
class CTable
{
var $m_host; //хост
var $m_login; //логин
var $m_pass; //пароль
var $m_dbname; //имя БД
var $m_name; //имя таблицы
var $m_import; //файл *.dbf для импортирования

//-- конструктор класса
function CTable ($host, $login, $pass, $db, $table, $import)
{
$this->m_host=$host;
$this->m_login=$login;
$this->m_pass=$pass;
$this->m_dbname=$db;
$this->m_name=$table;
$this->m_import=$import;
}
//-- конец конструктора класса

//-- соединение с БД
function Connection ()
{
$link = mysql_connect($this->m_host, $this->m_login, $this->m_pass) or die("Ошибка соединения");
mysql_select_db($this->m_dbname) or die(" Не найдена таблица ");
}
//-- конец соединения с БД

//--удаление старой таблице для замещения новой
function DeleteOld()
{
$result = mysql_list_tables($this->m_dbname);
for ($i = 0; $i < mysql_num_rows($result); $i++)
{
if ($this->m_name==mysql_tablename($result, $i))
{
$query = "DROP TABLE ". $this->m_name;
$drop=mysql_query($query) or die ("Ошибка удаления старой таблицы");
//print "Успешно удалена старая таблица ";
};
};
}
//--конец удаления старой таблице для замещения новой

//-- создание новой таблицы в БД
function NewTable()
{
$query="CREATE TABLE `price` (
`price_id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`price_art` VARCHAR( 6 ) NOT NULL ,
`price_name` VARCHAR( 30 ) NOT NULL ,
`price_cost` FLOAT NOT NULL ,
`price_count` INT NOT NULL )";
$result = mysql_query($query) or die (" Не возможно создать новую таблицу ");
//print " Новая таблица создана ";
}

//-- конец создания новой таблице в БД

//-- добавление данных в таблицу
function Replace ()
{
if (file_exists($this->m_import))
{
$open_db=dbase_open($this->m_import, 0); // открываем файл из которого будем производить импорт данных
$records=dbase_numrecords($open_db); // Êîëè÷åñòâî ñòðîê â òàáëèöå
for ($i=1; $i<= $records; $i++) // Öèêë
{
$row= dbase_get_record($open_db, $i); // ïîëó÷àåò ñòðîêó
$part=$row[0]; //àðòèêóë òîâàðà
$pname=$row[1]; //èìÿ òîâàðà
$pcost=$row[2]; // ñòîèìîñòü
$pcount=$row[3]; //êîë-âî

//вставка в MySQL
$query="INSERT INTO".$this->m_name."( `price_art` , `price_name` , `price_cost` ,
`price_count` )
VALUES ('".$part."', '".$pname."', '".$pcost."', '".$pcount."')";
$result = mysql_query($query);
};
}
else
{
print "Ошибка";
};
}
//-- êîíåö çàïîëíåíèÿ íîâîé òàáëèöû â ÁÄ
//--çàêðûòèå ÁÄ
function Close ()
{
mysql_close();
if (file_exists($this->m_import))
{
dbase_close();
}
}
//--êîíåö çàêðûòèÿ ÁÄ

//-- Удаление импортируемого файла*.dbf
function DeleteImport()
{
if (file_exists($this->m_import))
{
unlink($this->m_import);
};
}
//--конец удаления импортируемого файла*.dbf

}

//--код
$tb=new CTable($host, $login, $pass, $db, $table, $import);
$tb->Connection();
$tb->DeleteOld();
$tb->NewTable();
$tb->Replace();
$tb->Close();
$tb->DeleteImport();
?>
__________________________________________________

вроде всё.. пишу впервые.. так что - выручайте!
...
Рейтинг: 0 / 0
помогите найти баги! (конвертирование *.dbf в MySQL)
    #32556757
Дядя Сэм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а уже существующие конвертаторы не актуальны?
...
Рейтинг: 0 / 0
помогите найти баги! (конвертирование *.dbf в MySQL)
    #32556769
anais
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне учиться надо :)
...
Рейтинг: 0 / 0
помогите найти баги! (конвертирование *.dbf в MySQL)
    #32556789
Дядя Сэм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда другое дело:)
...
Рейтинг: 0 / 0
помогите найти баги! (конвертирование *.dbf в MySQL)
    #32557531
anais
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так есть какие-нибудь явные баги? плиз.. нужно мнение профи!
...
Рейтинг: 0 / 0
помогите найти баги! (конвертирование *.dbf в MySQL)
    #32557541
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anaisтак есть какие-нибудь явные баги? плиз.. нужно мнение профи!
Ты запускал свой код?

Я бы лично таскал такое через DTS, но предлагать этот путь не буду, потому что и твой способ тоже рабочий.
Если запускал, то увидишь жучков сам.
...
Рейтинг: 0 / 0
помогите найти баги! (конвертирование *.dbf в MySQL)
    #32558125
anais
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запускалА!!!!!
я она!

нашла все баги. :) спасибо всем за советы
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / помогите найти баги! (конвертирование *.dbf в MySQL)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]