Значение выпадающего в codeigniter нельзя назвать
Хорошо, возможно я допустил ошибку, но я не знаю где. кто-нибудь из вас может мне помочь? вот мой код
контроллер: site.php
public function plus()
{
$modul = $this -> contact_model -> get_names_group();
foreach($modul->result() as $row => $content)
{
$combo[$content->gid] = $content->gname;
}
$data['content'] = $combo;
$data['contacts'] = $this->contact_model->get($this -> session -> userdata('uid'));
$this -> load -> view('plus_member',$data);
}
то есть открыть представление, после чего я отправляю его в базу данных. все еще в контроллере.
public function add_checked()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('cntact[]', 'Private Contact', 'required|xss_clean');
$this->form_validation->set_rules('cbo_name', 'Group Name', 'required');
if ($this->form_validation->run() == FALSE)
{
$contact = "No <strong>Data</strong> added!";
$this -> json_response(FALSE, $contact);
}
else //success
{
$checked_messages = $this->input->post('cntact'); //selected messages
$this->contact_model->add_checked($checked_messages,
$this -> input -> post('cbo_name'),
$this -> session -> userdata('uid'));
//redirect to
redirect("site/group_contacts");
}
}
моя модель: contact_model.php
function add_checked($cntact,$cbo_name, $uid)
{
foreach ($this->input->post('cntact') as $cntact)
{
$this->db->insert('user_group',array('cid'=>$cntact,'wid' => $cbo_name, 'uid' => $uid));
}
return $this->db->affected_rows() > 0;
}
и мой взгляд: plus_member.php
<div class="content">
<select name="cbo_name">
<?php foreach($content as $gid =>$gname)
{
echo "<option value=$gid>$gname</option>";
}
?>
</select>
<?php $attribute = array('class' => 'check', 'id' => 'addmember'); ?>
<?php echo form_open('site/add_checked', $attribute); ?>
<button type="submit" class="btn btn-success">
<i class="icon-plus icon-white"></i> Add</button>
<br>
<br>
<table class="table table-striped table-bordered tablesorter" id="tcontacts">
<thead>
<tr>
<td><input type="checkbox" id="select_all" name="select_all"/></td>
<th><i class="icon-tags"></i> ID </th>
<th><i class="icon-user"></i> Name</th>
<th><i class="icon-envelope"></i> Email</th>
<th><i class="icon-headphones"></i> Phone</th>
</tr>
</thead>
<tbody>
<?php if(isset($contacts)) : foreach($contacts as $row) : ?>
<tr>
<td><input type="checkbox" name="cntact[]" class="check" value="<?php echo $row->cid; ?>" /> </td>
<td><? echo $row->cid; ?></td>
<td><? echo $row->name; ?></td>
<td><? echo $row->email; ?></td>
<td><? echo $row->phone; ?></td>
</tr>
<? endforeach; ?>
<? else : ?>
<h2>No records were returned </h2>
<?endif; ?>
</tbody>
</table>
я пытаюсь вставить несколько данных, которые имеют одинаковый gid (идентификатор группы). ты знаешь, где ошибка? потому что, когда я запускаю его, я просто получаю значение выпадающего меню "0". Спасибо за вашу помощь.
2 ответа
Возможно попробуйте одинарные кавычки вокруг значения
echo "<option value='$gid'>$gname</option>";
use this
<?php foreach($content as $gid =>$gname)
{?>
<option value="<?php echo $gid; ?>"><?php echo $gname;?></option>
<?php }
?>