0 / 0 / 3
Регистрация: 30.05.2016
Сообщений: 171
1

Вставить вколонку значение как в другой таблице

13.03.2017, 18:59. Показов 577. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно в таблицу oc_product_attribute, в поле title, вставить характеристики с таблицы oc_attribute_description ,с поля name.
Тоесть у меня код который создает запросы и нужно в нём переписать запрос что б добавлялись в поле title, характеристики с поля name
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public function getProductAtr_parser($product_id, $products1,$products2) {
        
        
 
                foreach ($products1 as $atr1 => $tab) {
                        @$query1 = $this->db->query("INSERT INTO oc_attribute_description(`attribute_id`, `language_id`, `name`) VALUES ('','2','".$tab."')");
                        @$query = $this->db->query("INSERT INTO oc_attribute (`attribute_id`, `attribute_group_id`, `sort_order`,`text`) VALUES ('','1',(SELECT MAX(attribute_id) +1 FROM oc_attribute_description),'".$tab."')");
                        
            }           
        
            
foreach($products2 as $atr2 ){
        $query2 = $this->db->query("INSERT INTO oc_product_attribute(`product_id`, `attribute_id`, `language_id`, `text`,`title`) VALUES ('".$product_id."',NULL,'2','".$atr2."','0')"); // Вот тут нужно подправить
 
        }
    }
Если понадобиться тогда вот контроллер
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (isset($this->request->post['atr_parser'])) {
                $data['atr_parser'] = $this->request->post['atr_parser'];
                } elseif (isset($this->request->get['product_id'])) {
                    $curl=new Curl();
                    
$response=$curl->get('https://www.bezpeka-shop.com/catalog/hd_cvi_videokamery/videokamera_hac_hfw1200dp_s3_0360b.html');
$doc = phpQuery::newDocument($response->body);
$one = $doc->find('.proptd1')->append("&&&")->text().'<br>';
$two = $doc->find('#teh-tab td:nth-child(2)')->append("&&&")->text().'<br>';
$products1=explode("&&&",$one);
$products2=explode("&&&",$two);
$prd1=array_pop($products1);
$prd2=array_pop($products2);
$data['atr_parser'] = $this->model_catalog_product->getProductAtr_parser($this->request->get['product_id'], $products1, $products2);
        } else {
            $data['atr_parser'] = array();
        }
Вставить вколонку значение как в другой таблице

Вставить вколонку значение как в другой таблице
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2017, 18:59
Ответы с готовыми решениями:

Как вставить <select> через php в таблице
&lt;?php include (&quot;bd.php&quot;); $res=mysql_query(&quot;SELECT * FROM team1&quot;); $n=11; for($i=0;...

Запрос: приравнять значение в одной таблице значению в другой таблице
как можно осуществить запрос : приравнять значение одной таблицы значению в другой таблицы idn |...

Как найти минимальное значение и вставить на другой лист
Друзья, привет. Макрос вроде бы не сложный, но все же у меня не получается. У меня есть на...

Как автоматически вставить значение в столбец одной таблицы взятое из столбца другой?
В БД &quot;Фирма по продаже запчастей&quot; есть таблица Цена: ID поставщика ID детали Дата изменения...

2
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
13.03.2017, 19:55 2
SQL
1
2
INSERT INTO `table_name` (`column_name`)
SELECT `column_name_2` FROM `table_name_2`
1
0 / 0 / 3
Регистрация: 30.05.2016
Сообщений: 171
13.03.2017, 22:33  [ТС] 3
Спасибо за запрос, но помогите пожалуйста ещё с кое чем:
Нужно при вставке записи, добавлять в поле title, данные, с помощью переменной $tab, предыдущего foreach
.И потом я вашым запросом смогу связать таблицы.
Вот в этот фореач надо впихнуть $tab вместо 0 .Как так сделать?
PHP
1
2
3
4
    foreach($products2 as $atr2 ){
        $query2 = $this->db->query("INSERT INTO oc_product_attribute(`product_id`, `attribute_id`, `language_id`, `text`,`title`) VALUES ('".$product_id."',NULL,'2','".$atr2."','0')");
 
        }
Добавлено через 1 час 8 минут
Попробовал так сделать так в поле title пишет array вместо текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
public function getProductAtr_parser($product_id, $products1,$products2) {
 
                foreach ($products1 as $atr1 => $tab) {
                        @$query1 = $this->db->query("INSERT INTO oc_attribute_description(`attribute_id`, `language_id`, `name`) VALUES ('','2','".$tab."')");
                        @$query = $this->db->query("INSERT INTO oc_attribute (`attribute_id`, `attribute_group_id`, `sort_order`,`text`) VALUES ('','1',(SELECT MAX(attribute_id) +1 FROM oc_attribute_description),'".$tab."')");
                        
            }   
            
[B]foreach($products2 as $atr2 ){
        $query2 = $this->db->query("INSERT INTO oc_product_attribute(`product_id`, `attribute_id`, `language_id`, `text`,`title`) VALUES ('".$product_id."',NULL,'2','".$atr2."','".$products1."')");
[/B]
        }
    }
0
13.03.2017, 22:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2017, 22:33
Помогаю со студенческими работами здесь

Как при вводе в одну таблицу данных изменить значение в другой таблице в строке с тем же номером?
Есть БД в access, состоящая из 6 таблиц. Задача - при вводе в одну таблицу данных изменить значение...

Как отобразить значения в таблице, соответствующие коду в другой таблице
Здравствуйте. Есть три таблицы: Tbl_authors – Таблица авторов Поля: - Id_Author (первичный...

Невозможно вставить явное значение для столбца идентификаторов в таблице
Добрый день. Появляется ошибка:&quot;Невозможно вставить явное значение для столбца идентификаторов в...

Вставить значение из другой таблицы
Помогите, пожалуйста, создать правильный запрос. Есть две таблицы: orders, zakaz_tovar. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru