Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment insérer des données dans la table1 en vérifiant le champ de la table2 (Codeigniter)

Vous pouvez écrire une instruction insert select.

Ceci est juste une visualisation approximative puisque vous n'avez pas fourni votre code. Faites-moi savoir si vous avez besoin d'éclaircissements.

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

Répondez à votre mise à jour :

Voici ma réponse mise à jour pour votre contrôleur. Mais je préfère quand même ma première réponse car c'est beaucoup plus rapide.

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