Задавайте вопросы, мы ответим
Вы не зашли.
здравствуйте, может кто подскажет!
Как правильно изменить запрос в файле, если у меня отдельные таблицы в БД вида oc_autolux_city и oc_autolux_adress и аналоги?
А не стандыртные oc_country и oc_zone как для новой почты (в архиве)....
БД - было так:
[MYSQL]DROP TABLE IF EXISTS `oc_country`;
CREATE TABLE IF NOT EXISTS `oc_country` (
`country_id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`iso_code_2` varchar(2) NOT NULL,
`iso_code_3` varchar(3) NOT NULL,
`address_format` text NOT NULL,
`postcode_required` tinyint(1) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`country_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5369 ;
DROP TABLE IF EXISTS `oc_zone`;
CREATE TABLE IF NOT EXISTS `oc_zone` (
`zone_id` int(11) NOT NULL AUTO_INCREMENT,
`country_id` int(11) NOT NULL,
`name` varchar(128) NOT NULL,
`code` varchar(32) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`zone_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1490 ;[/MYSQL]
а нужно что-бы запрос работал в бд так:
[MYSQL]DROP TABLE IF EXISTS `oc_autolux_city`;
CREATE TABLE IF NOT EXISTS `oc_autolux_city` (
`city_id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`city_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5369 ;
DROP TABLE IF EXISTS `oc_autolux_adress`;
CREATE TABLE IF NOT EXISTS `oc_autolux_adress` (
`adress_id` int(11) NOT NULL AUTO_INCREMENT,
`city_id` int(11) NOT NULL,
`name` varchar(128) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`adress_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1490 ;[/MYSQL]
\catalog\model\shipping\autolux.php
как этот запрос сделать, чтобы он брал данные о стране из таблицы zone_to_geo_zone и из таблиц города oc_autolux_city и таблицы адресов отделений oc_autolux_adress ?
[PHP]f ($this->config->get('autolux_status')) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int) $this->config->get('autolux_geo_zone_id') . "' AND country_id = '" . (int) $address['country_id'] . "' AND (zone_id = '" . (int) $address['zone_id'] . "' OR zone_id = '0')");
if (!$this->config->get('autolux_geo_zone_id')) {
$status = TRUE;
} elseif ($query->num_rows) {
$status = TRUE;
} else {
$status = FALSE;
}
} else {
$status = FALSE;
}[/PHP]
Структура oc_zone_to_geo_zone :
[MYSQL]CREATE TABLE IF NOT EXISTS `oc_zone_to_geo_zone` (
`zone_to_geo_zone_id` int(11) NOT NULL AUTO_INCREMENT,
`country_id` int(11) NOT NULL,
`zone_id` int(11) NOT NULL DEFAULT '0',
`geo_zone_id` int(11) NOT NULL,
`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`date_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`zone_to_geo_zone_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=67 ;[/MYSQL]
Структура oc_country
[MYSQL]CREATE TABLE IF NOT EXISTS `oc_country` (
`country_id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`iso_code_2` varchar(2) NOT NULL,
`iso_code_3` varchar(3) NOT NULL,
`address_format` text NOT NULL,
`postcode_required` tinyint(1) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`country_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=252 ;[/MYSQL]
https://yadi.sk/d/LoItjw65caaUd - исходиники
Отредактированно twixi007 (08.11.2014 23:04:08)
Неактивен