Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So fügen Sie Daten in Tabelle1 ein, indem Sie das Feld aus Tabelle2 überprüfen (Codeigniter)

Sie können eine Insert-Select-Anweisung schreiben.

Dies ist nur eine grobe Visualisierung, da Sie Ihren Code nicht bereitgestellt haben. Lassen Sie mich wissen, wenn Sie Klärungsbedarf haben.

INSERT INTO table1 (id_data_inserted, date, id_data, id_room) 
    SELECT
        '$id_data_inserted' as id_data_inserted,
        '$date' as date,
        '$id_data' as id_data,
        '$id_room' as id_room
    FROM table2 WHERE id_data = $id_data

Antwort auf Ihr Update:

Hier ist meine aktualisierte Antwort für Ihren Controller. Aber ich bevorzuge immer noch meine erste Antwort, weil das viel schneller ist.

$checkID_Data = $this->my_model->checkIdData()->result_array();
$passed = FALSE;

foreach ($checkID_Data as $v)
{
    if($id_data == $v['id_data '])
    {
        $data = array
        (
           'id_data_inserted' => $v['id_data'],
           'date' => $date,
           'id_data' => $id_data,
           'id_room' => $id_room
        );

        $this->my_model->input_data($data, 'table1');
        $data['table1'] = $this->my_model->viewl_data('table1')->result();
        $this->load->view('admin/data/v_data', $data);
        $passed = TRUE;
        break;
    }
}

if (!$passed)
{
   echo "Failed to input!";
}