一些背景知識對我的特點:結合兩個「的foreach」循環
我們已經建立了一個應用程序,允許您創建和共享的東西,最後一步是與其他用戶分享。
我有一個視圖,打印出每個名字旁邊的所有用戶和複選框。使用AJAX,如果選中或取消選中一個框,它會將用戶標識和共享項目的標識插入到數據庫表中。
因此,我需要加入兩張表以查看誰與他們共享了該項目。一個表格包含該項目,另一個表格包含與其共享的人員。
目前,我有一個foreach循環翻出所有已共享的用戶ID:
<?php foreach($shared_user as $shared_user):?>
<?= $shared_user_emails[set_default($shared_user->user_id)]; ?><br />
<?php endforeach; ?>
然後,foreach循環翻出所有的用戶和他們的複選框:
<?php foreach($users1 as $user):?>
<?php $checked = ($user->id == $shared_user_emails[set_default($shared_user->user_id)])? 'checked' : '' ; ?>
<label class="checkbox"><input type="checkbox" class="template_permissions" data-id="<?= $user->id?>" <?= $checked ?> /><?= $user->email ?></label>
你會在上面的foreach看到,我所做的:
$user->id == $shared_user_emails[set_default($shared_user->user_id)])? 'checked' : '' ;
也就是說,如果共享用戶標識等於用戶標識,則將「已檢查」應用於輸入。這個工作很好,但只適合一個用戶,而不是循環遍歷它們。
所有東西都在共享和正常工作,但是隻有一個複選框會被選中,而不是所有的用戶被共享。
我相信我需要以某種方式結合這兩種每個循環,它顯然只在最後一個人,其被分享,並檢查他們的盒子拉動。
我已經嘗試過將這兩個環路合併一天了,任何人都可以伸出援助之手嗎?
謝謝!
編輯
這裏是如何的變量從我的控制器內創建:set_default確實
load_model('user_model', 'users');
$users = $this->users->users_by_company($company_id);
load_model('template_user_model', 'template_users');
$shared_users = $this->template_users->get_many_by('template_id', $template_id);
$this->data['shared_user'] = $shared_users;
$this->data['shared_user_emails'] = $this->user_model->dropdown('id');
不是100%肯定的,但試圖解決時,這不應是一個問題這個...
編輯
這是包含在使用print_r的變量的要求:
使用:
<p>shared_user_emails:</p>
<?php print_r($shared_user_emails); ?>
<p>shared_user:</p>
<?php print_r($shared_user); ?>
<p>User:</p>
<?php print_r($user); ?>
製作:
shared_user_emails:
Array (
[2] => 2
[3] => 3
[17] => 17
[19] => 19
)
shared_user:
stdClass Object (
[template_id] => 58
[user_id] => 3
)
用戶:
stdClass Object (
[id] => 19
[name] => Steve
[title] =>
[phone] =>
[ext] =>
[email] => [email protected]
[active] => 1
[group_id] => 3
[group] => users
)
和:$shared_user_emails[set_default($shared_user->user_id)]
打印出 「3」
'$ shared_user','$ shared_user_emails [set_default($ shared_user-> user_id)]'和'$ user'是什麼內容? 'set_default'做什麼? – 2013-05-01 21:04:15
在上面添加了你需要的東西,並不完全確定set_default的作用,但是在解決這個問題時不應該發揮作用 – user1696090 2013-05-01 21:07:20
這不是很有用,因爲它沒有顯示變量的內容。爲每個人粘貼'print_r()'結果。 – 2013-05-01 21:08:42