Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Вставка строк таблицы БД и добавление данных


Автор: CaptainNemo 2.12.2018, 18:04
Я получаю по индексу строку из одной таблицы и вставляю в схожую таблицу, имющую несколько дополнительных столбцов. Подскажите, как мне заполнить эти дополнительные поля при вставке, мне нужно вписать ID текущего пользователя $user_id в поле id_user. 

Код



    function insertCheckedDataToDB($ind, $user_id){
     $listCols = "`id_mach`,`mach_mark`,`picute_mach_link`,`id_mach_vid`,`id_type`,`type`,`mach_grip_width_from`,`mach_grip_width_to`,
       `mach_grip_width_step`,`manufacturer`,  `id_comm_manufacturer`,`mach_resistivity_min`,`mach_resistivity_max`,`mach_res_inc_min`,
       `mach_res_inc_max`,`mach_VOM_power`,`mach_mass`,`mach_length`,`mach_width`,`mach_height`,`mach_time_eto`,`mach_time_to`,
       `mach_time_stop`,`mach_price`, `mach_resource`,`mach_update_date`,`mach_bunker1`,`mach_bunker2`,`coeff_corect`,`tractor_class_min`,
       `tractor_class_max`";

     global $con;

     $sql = "INSERT INTO agronaut_user.mach_user ($listCols) SELECT $listCols FROM agronaut_base.mach WHERE `id_mach` = $ind";
     // думал так сделать, но тоже не получается $sql .= "UPDATE mach_user SET `id_user` = $user_id WHERE `id` = SELECT MAX(id) FROM mach_user";
     mysqli_query($con, $sql);

     if( $e = mysqli_error($con)) {
       die("Error running the query:<br />".$sql."<br />Error: ".$e);
     }    

    }


    insertCheckedDataToDB($valueInd, $current_user_id);



спасибо

Автор: CaptainNemo 3.12.2018, 11:21
Пробовал несколько вариантов, подошел вот такой 

Код

$sql = "INSERT INTO agronaut_user.mach_user( `id_user`, $listCols ) SELECT $user_id, $listCols FROM agronaut_base.mach WHERE  `id_mach` = $ind";



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)