2013-04-25 1 views
0

로그인 한 사용자에게 공장을 추가하려면 어떻게합니까? 나는 Tank_auth를 사용하고 있는데 'admin'계정을 만들었습니다. 나는 또한 'factoryusers'라는 테이블을 만들었습니다.특정 사용자가 로그인했을 때의 공장을 표시하는 방법

조인을 사용하여 특정 사용자에게 팩터 리를 추가하려고합니다.

내 테이블 구조는 :

users 
----- 
id 
username 
email 
... 
... 

factories 
--------- 
idfactories 
factoryname 
adress 
... 
... 

factoryusers 
------------ 
idfactoryusers 
idusers 
idfactories 

나는이 테이블에 가입하고 factoryusers 테이블에서 레코드를 보여주기 위해 노력했다.

내 컨트롤러 기능 :

$data['userbedrijf'] = $this->bedrijven_model->bedrijvenusers(); 
(translation to english: $data['userfactory'] = $this->factory_model->factoryusers();) 

내 모델 :

function bedrijvenusers() 
{ 
    $this->db->join('bedrijven', 'bedrijfusers.idbedrijven = bedrijven.idbedrijven'); 
    $this->db->join('users', 'bedrijfusers.idusers = users.id'); 
    $result = $this->db->get('bedrijfusers', 1); 
    return $result->result(); 
} 

내보기는 :

<h4>Gebruikergegevens:</h4> 
     <p class="field"><label class="field">Gebruikersnaam:</label> <?= $this->tank_auth->get_username(); ?></p> 
     <p class="field"><label class="field">Emailadres:</label> <?= $user_data->email; ?></p> 
     <p class="field"><label class="field">Laatste Login:</label> <?= date ("d-M-Y H:i:s",strtotime($user_data->last_login)); ?></p> 
     <p class="field"><label class="field">Account aangemaakt:</label> <?= date ("d-M-Y H:m:s",strtotime($user_data->created)); ?></p> 
     <p class="field"><label class="field">Laatst aangepast:</label> <?= date ("d-M-Y H:i:s",strtotime($user_data->modified)); ?></p> 
     <p class="field"><label class="field">is admin:</label> <?= $user_data->is_admin; ?></p> 
    <hr> 
    <h4>Bedrijfsgegevens:</h4> 
    <? foreach($userbedrijf as $row){ ?> 
     <p class="field"><label class="field">Bedrijf_id:</label> <?= $row->idbedrijven; ?></p> 
     <p class="field"><label class="field">Bedrijfsnaam:</label> <?= $row->Bedrijfsnaam; ?></p> 
     <p class="field"><label class="field">Adres:</label> <?= $row->Adres; ?></p> 
     <p class="field"><label class="field">Postcode:</label> <?= $row->Postcode; ?></p> 
     <p class="field"><label class="field">Plaats:</label> <?= $row->Plaats; ?></p> 
     <p class="field"><label class="field">Telefoonnummer:</label> <?= $row->Telefoonnummer; ?></p> 
     <p class="field"><label class="field">Website:</label> <?= $row->Website; ?></p> 
     <p class="field"><label class="field">Email:</label> <?= $row->Email; ?></p> 
     <p class="field"><label class="field">Profiel:</label> <?= $row->Profiel; ?></p> 
    <?}?> 

내 조인 문제점은 무엇입니까? 그것은 나에게 공장을 보여준다. 그러나 각 사용자에 대해 공장은 동일합니다. 심지어 다른 사용자 ID와 공장 ID가있는 데이터베이스에 여러 factoryuser 행이있는 경우

+0

분명하지 않지만 왼쪽 결합을 사용해보십시오. – Shomz

+0

'admin'으로 로그인하면 내 공장 이름 = lauwersdesign입니다. 하지만 'keessonnema'로 로그인하면 내 공장 이름도 lauwersdesign입니다. 공장 간에는 차이점이 없습니다. 심지어 내가 가입 할 때. 어쩌면 내가 잘못하고있는거야? –

+0

질문은 분명하지 않습니다. 네덜란드어와 englisch를 함께 사용하고 있습니다. 심지어는 혼란 스럽습니다. –

답변

1

질문이 명확하지 않지만 지정된 사용자의 공장을 가져와야합니다. 본인의 원래 네덜란드어/영어 이름을 사용했습니다.

function bedrijvenuser($user_id) 
{ 
    $this->db->join('bedrijven', 'bedrijfusers.idbedrijven = bedrijven.idbedrijven', 'left'); 
    $this->db->join('users', 'bedrijfusers.idusers = users.id'); 
    return $this->db->get_where('bedrijfusers', array('idusers' => $user_id))->result(); 
} 
+0

빈 페이지를 얻는 헴. 그 좋지 않다. 문제가 무엇인지 보자. –

+0

내가 함수 이름을 변경 - $'데이터 [ 'userbedrijf'] = $ this-> bedrijven_model-> bedrijvenuser ($ USER_ID)' – Shomz

+0

PHP는 오류가 발생했습니다를 심각도 : 메시지주의 : 정의되지 않은 변수를 : 파일 이름을 USER_ID : controllers/members.php 줄 번호 : 11 –