2016-05-15 3 views
0

Ich habe zwei Datenbank. tabel_jawaban und tabel_user.Erhalte Id Benutzer in codeigniter

in tabel_user gibt es Feld "ID_USER" genannt

i/verschieben möchten rufen "ID_USER von tabel_user" auf "ID_USER in tabel_jawaban" Registrierung bei.

aber ich scheiterte. kann jemand helfen? gibt es meinen Code ....

Model_User:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
 

 
\t class Model_user extends CI_Model { 
 
\t \t function __construct() { 
 
\t \t parent::__construct(); 
 
\t \t $this->tbl = "tabel_user"; 
 
\t \t } 
 
\t \t 
 
\t \t function cek_user($username="",$password="") { 
 
\t \t $query = $this->db->get_where($this->tbl,array('username' => $username, 'password' => $password)); 
 
\t \t $query = $query->result_array(); 
 
\t \t return $query; 
 
\t \t } 
 
\t \t 
 
\t \t function ambil_user($username) 
 
\t \t { 
 
     $query = $this->db->get_where($this->tbl, array('username' => $username)); 
 
     $query = $query->result_array(); 
 
     if($query){ 
 
      return $query[0]; 
 
     } 
 
\t \t } 
 
\t \t 
 
\t \t function ambil_iduser($idUser) 
 
\t \t { 
 
     $query = $this->db->get_where($this->tbl, array('id_user' => $idUser)); 
 
     $query = $query->result_array(); 
 
     if($query){ 
 
      return $query[0]; 
 
     } 
 
\t \t } 
 
\t \t 
 
\t \t function getAllUser() { 
 
\t \t $this->db->from('tabel_user'); 
 
\t \t return $this->db->get(); 
 
\t \t } 
 
\t \t 
 
\t \t function deleteUser($id) 
 
\t \t { 
 
\t \t $this->db->where('id_user', $id); 
 
     $this->db->delete('tabel_user'); \t 
 
\t \t } 
 

 
\t } 
 

 
?>

Jawaban_model:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
 

 
class Jawaban_model extends Ci_Model { 
 

 
    public function Ambil() { 
 
    $data = $this->db->query('select * from tabel_jawaban, tabel_user where tabel_jawaban.id_user=tabel_user.id_user'); 
 
    return $data; 
 
    } 
 

 
    public function AmbilNilai2($iduser) { 
 
    $data = $this->db->query("select * from tabel_jawaban, tabel_user where tabel_jawaban.id_user=tabel_user.id_user AND tabel_jawaban.id_user='$iduser'"); 
 
    return $data; 
 
    } 
 

 
    public function Simpan($tabel, $data){ 
 
    $res = $this->db->insert($tabel, $data); 
 
    return $res; 
 
    } 
 

 
    public function UpdateTotalNilai($id_jawaban,$data) 
 
    { 
 
    $this->db->where('id_jawaban',$id_jawaban); 
 
    $this->db->update('tabel_jawaban',$data); 
 

 
    } 
 
}

Controller:

function daftar(){ 
 
\t \t $ambil_akun = $this->session->userdata('uname'); 
 
     $idUser = $this->user_model->AmbilIdUser($ambil_akun); 
 

 
\t \t $data = array(\t \t \t 
 
\t \t \t 'id_user' => $idUser, 
 
\t \t \t 'tgl_tes' => date("Y-m-d"), 
 
\t \t); 
 

 
\t \t $this->jawaban_model->Simpan('tabel_jawaban', $data); 
 
\t \t $id=mysql_insert_id(); \t \t 
 

 
\t \t redirect('dashboard/soaluser/'.$id); 
 
\t \t }

Antwort

0

Es gibt kleinere Tippfehler in Ihrem Code. Soweit ich konnte feststellen, Ihre user_model-> Methode ist

function ambil_iduser($idUser) 
     { 
     $query = $this->db->get_where($this->tbl, array('id_user' => $idUser)); 
     $query = $query->result_array(); 
     if($query){ 
      return $query[0]; 
     } 

Während in Ihrem Controller, die Sie hier für andere Methode aufrufen,

$idUser = $this->user_model->AmbilIdUser($ambil_akun); 

Sowohl die Methode der Name ambil_iduser und AmbilIdUser unterscheidet.

Das muss die richtige Controller Zustand Aufruf

sein
function daftar(){ 
     $ambil_akun = $this->session->userdata('uname'); 
     $idUser = $this->user_model->ambil_iduser($ambil_akun); 

     $data = array(   
      'id_user' => $idUser, 
      'tgl_tes' => date("Y-m-d"), 
     ... 
Verwandte Themen