[Помогите] Не установились таблицы В БД

Тема в разделе "OpenCart", создана пользователем perepela21, 15 дек 2013.

  1. perepela21

    perepela21

    Регистрация:
    9 ноя 2012
    Сообщения:
    285
    Симпатии:
    95
    Здравствуйте.
    Не установились таблицы в базу данных, соотвественно ошибки при переходе в товар.
    Сам код для установики, а как точно его вписать чтобы phpадмин схавал.
    Код:
            function install() {
                $sql = 'CREATE TABLE IF NOT EXISTS `' . DB_PREFIX . 'chain_discount` (
                    `chain_discount_id` INT(11) NOT NULL AUTO_INCREMENT,
                    `main_product_id` INT(11) NOT NULL,
                    `chain` TEXT NOT NULL,
                    `quantity` TEXT NOT NULL,
                    `order` INT(11) NOT NULL,
                    PRIMARY KEY (`chain_discount_id`)
                    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;';
                $this->db->query( $sql );
    модуль брал отсюда
    Скидка для комплекта [Вместе дешевле]
     
  2. moneymc

    moneymc

    Регистрация:
    22 янв 2013
    Сообщения:
    200
    Симпатии:
    36
    в phpmyadmin, вкладка sql
    нужно вставить все, что написано внутри кавычек. $sql = ' все что здесь, без кавычек ';
     
    perepela21 нравится это.
  3. perepela21

    perepela21

    Регистрация:
    9 ноя 2012
    Сообщения:
    285
    Симпатии:
    95
    спасибо с 3-его раза получилось пришлось еще ' . DB_PREFIX . ' убирать т.к. без префикса БД.

    ХМ ошбки остались
    Error: Table '_БД.product_to_set' doesn't exist<br />Error No: 1146<br />SELECT * FROM `product_to_set` ps LEFT JOIN `set` s ON (ps.set_id = s.set_id) LEFT JOIN `set_description` sd ON (ps.set_id = sd.set_id) WHERE ps.product_id = '403' AND ps.show_in_product='1' AND sd.language_id = '1' AND s.status>0 ORDER BY s.sort_order in public_html/system/database/ipsmysql.php on line 53
     
  4. bahetle

    bahetle

    Регистрация:
    26 янв 2013
    Сообщения:
    56
    Симпатии:
    204
    Модуль зависимости тянет. Точно ничего больше в коде нету? Требует таблицу product_to_set
     
    perepela21 нравится это.
  5. perepela21

    perepela21

    Регистрация:
    9 ноя 2012
    Сообщения:
    285
    Симпатии:
    95
    вот кусок где есть хоть какоето упоминания о БД
    Код:
        function install() {
                $sql = 'CREATE TABLE IF NOT EXISTS `' . DB_PREFIX . 'chain_discount` (
                    `chain_discount_id` INT(11) NOT NULL AUTO_INCREMENT,
                    `main_product_id` INT(11) NOT NULL,
                    `chain` TEXT NOT NULL,
                    `quantity` TEXT NOT NULL,
                    `order` INT(11) NOT NULL,
                    PRIMARY KEY (`chain_discount_id`)
                    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;';
                $this->db->query( $sql );
            }
    
            function update_version($old_version, $new_version) {
                switch (true) {
                    case version_compare( '1.10', $old_version, '>' ): {
                        $sql = 'ALTER TABLE `' . DB_PREFIX . 'chain_discount` ADD `order` INT(11) NOT NULL';
                        $this->db->query( $sql );
                    }
    
                    case version_compare( '1.09', $old_version, '>' ): {
                        $sql = 'ALTER TABLE `' . DB_PREFIX . 'chain_discount` ADD `quantity` TEXT NOT NULL';
                        $this->db->query( $sql );
                    }
                }
    
            }
    
            function uninstall() {
                if ($this->trial_driver) {
                    $this->uninstall_trial(  );
                    return null;
                }
    
                $sql = 'DROP TABLE `' . DB_PREFIX . 'chain_discount';
                $this->db->query( $sql );
            }
    
            function insert_chain($data) {
                if ($this->trial_driver) {
                    $this->trial_insert_chain( $data );
                    return null;
                }
    
                $this->db->query( 'INSERT `' . DB_PREFIX . 'chain_discount`
                                    (`main_product_id`, `chain`, `quantity`, `order`)
                                        VALUES
                                    (\'' . (int)$data['main_product_id'] . '\',\'' . $data['chain'] . '\', \'' . $data['quantity'] . '\', \'' . $data['order'] . '\')' );
            }
    
            function update_chain($data, $id) {
                $this->db->query( 'UPDATE `' . DB_PREFIX . 'chain_discount` SET `chain`=\'' . $data['chain'] . '\', `quantity`=\'' . $data['quantity'] . '\', `order`=\'' . $data['order'] . '\' WHERE chain_discount_id=' . (int)$id );
            }
    
            function get_trial_data() {
                return $this->db->query( 'SELECT * FROM `' . DB_PREFIX . 'setting` WHERE `group`=\'chain_trial_data\' AND `key`=\'chain_trial_data\'' );
            }
    
            function uninstall_trial() {
                $this->db->query( 'DELETE FROM `' . DB_PREFIX . 'setting` WHERE `group`=\'chain_trial_data\' AND `key`=\'chain_trial_data\'' );
            }
    
            function delete(&$main_product_id) {
                if ($this->trial_driver) {
                    $output = array(  );
                    $query = $this->get_trial_data(  );
    
                    if (0 < $query->num_rows) {
                        $new_data = array(  );
                        foreach ($this->_un_serialize( $query->row['value'] ) as $chain) {
    
                            if ($chain['main_product_id'] != $main_product_id) {
                                $new_data[] = $chain;
                                continue;
                            }
                        }
    
                        global $registry;
    
                        $model_setting_setting = $registry->get( 'model_setting_setting' );
                        $model_setting_setting->editSetting( 'chain_trial_data', array( 'chain_trial_data' => $new_data ) );
                        return null;
                    }
                }
    else {
                    $this->db->query( 'DELETE FROM `' . DB_PREFIX . 'chain_discount` WHERE `main_product_id`=' . (int)$main_product_id );
                }
    
            }
    
            function delete_chain($chain_id) {
                $this->db->query( 'DELETE FROM `' . DB_PREFIX . 'chain_discount` WHERE `chain_discount_id`=' . (int)$chain_id );
            }
    
            function getChains($main_product_id) {
                if ($this->trial_driver) {
                    $output = array(  );
                    $query = $this->get_trial_data(  );
    
                    if (( 0 < $query->num_rows && !empty( $query->row['value'] ) )) {
                        foreach ($this->_un_serialize( $query->row['value'] ) as $chain) {
    
                            if ($chain['main_product_id'] == $main_product_id) {
                                $output[] = $chain;
                                continue;
                            }
                        }
                    }
    
                    return $output;
                }
    
                $query = $this->db->query( 'SELECT * FROM `' . DB_PREFIX . 'chain_discount` WHERE `main_product_id`=' . (int)$main_product_id . ' ORDER BY `order` ASC' );
                return $query->rows;
            }
    
            function getChain($chain_id) {
                if ($this->trial_driver) {
                    $output = array(  );
                    $query = $this->get_trial_data(  );
    
                    if (( 0 < $query->num_rows && !empty( $query->row['value'] ) )) {
                        foreach ($this->_un_serialize( $query->row['value'] ) as $chain) {
    
                            if (isset( $chain[$chain_id] )) {
                                return $chain[$chain_id];
                            }
    
                            return array(  );
                        }
    
                        return null;
                    }
                }
    else {
                    $query = $this->db->query( 'SELECT * FROM `' . DB_PREFIX . 'chain_discount` WHERE `chain_discount_id`=' . (int)$chain_id );
                    return $query->row;
                }
    
            }
    --- Добавлено, 15 дек 2013 ---
    всем спасибо. проблема решина. стоял другой модуль с меньшим фукнционалом и получается вмод файл тянул таблицу от удаленного модуля.
     
    Последнее редактирование: 15 дек 2013