Mysql
 sql >> Database >  >> RDS >> Mysql

Come inserire i dati nella tabella1 con il campo di controllo dalla tabella2 (Codeigniter)

È possibile scrivere una dichiarazione di inserimento select.

Questa è solo una visualizzazione approssimativa poiché non hai fornito il tuo codice. Fammi sapere se hai bisogno di chiarimenti.

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

Rispondi al tuo aggiornamento:

Ecco la mia risposta aggiornata per il tuo controller. Ma preferisco comunque la mia prima risposta perché è molto più veloce.

$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!";
}