Передача значения из контроллера для просмотра в codeigniter

У меня есть список флажков в моем представлении, где я получаю значения, загруженные из базы данных.

    <input type="checkbox"  id="CheckBoxAdmin" name="CheckBoxAdmin" <?php echo $Admin; ?>    />Admin
<input type="checkbox"  id="CheckBoxCreateUser" name="CheckBoxCreateUser" <?php echo   $CreateUser; ?>  />Create User

Я передаю значение этому через мой контроллер.

     $this->load->view('edituserview', $data);

$ data содержит массив привилегий пользователя.

     for($i=0;$i<$max;$i++)
{
if( $pieces[$i]=="Admin"  )
{
$data['Admin']="checked";
}
else
{
$data['Admin']="";
}
if( $pieces[$i]== "Create User")
{
$data["CreateUser"]="checked";
}
else
{
$data["CreateUser"]="";
}

}

$this->load->view('edituserview', $data);

Но проблема в том, что я не вижу правильное состояние флажка (независимо от того, установлен он или нет), когда я отображаю $ Admin или $ CreateUser. Я хочу передать значение, как оно есть в контроллере, для просмотра.

Любая помощь будет высоко оценена.

0

Решение

Я понял свою ошибку. К коду $ нельзя получить глобальный доступ, поскольку он объявлен в цикле. В моем файле просмотра я пишу логику, как показано ниже,

    <?php
$Admin="";
$CreateUser="";

$prv= element('privileges',  $users);
$pieces = explode(",", $prv);
$data['priviledges']= str_replace(array('[',']'),'',$pieces);
$pieces= str_replace(array('[',']'),'',$pieces);
$max = sizeof($pieces);

if (in_array('Admin', $pieces, true))
{
$Admin="checked";
}

if(in_array("Create User", $pieces, true))
{
$CreateUser="checked";
}

?>

В моем файле контроллера я просто передаю массив $ data, а не пишу логику.

     $data['users'] = $this->Usermodel->RetrieveUsers( $userid);
$this->load->view('edituserview', $data);

Теперь я могу получить правильный статус правильно.

1

Другие решения

<?php
$data['Admin'] = false;
$data['CreateUser'] = false;
for($i=0;$i<$max;$i++) {
if($pieces[$i] == "Admin") {
$data['Admin'] = true;
}
if($pieces[$i] == "Create User") {
$data['CreateUser'] = true;
}
}

$this->load->view('edituserview', $data);
?>

попробуй это

0

По вопросам рекламы [email protected]