如何在特定用户登录时显示工厂

时间:2013-04-25 13:37:30

标签: php mysql codeigniter join tankauth

如何向任何已登录的用户添加工厂?我正在使用Tank_auth,我创建了一个帐户'admin' 我还制作了一张名为'factoryusers'的桌子。

我想使用连接向特定用户添加工厂。

我的表结构:

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

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

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

我尝试加入这些表并显示工厂用户表中的记录。

我的控制器功能:

$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行

1 个答案:

答案 0 :(得分: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();
}