使用codeigniter和php填充选择菜单
您好,我是codeigniter框架的初学者,我有一个问题 有一个表需要填充各种各样的数据,其中一项是带有选项的选择菜单,当我试图填充选择菜单时,我被卡住了,现在我有一个问题 当我调用控制器的方法my_courses()时: 示范课:使用codeigniter和php填充选择菜单,php,codeigniter,select,menu,populate,Php,Codeigniter,Select,Menu,Populate,您好,我是codeigniter框架的初学者,我有一个问题 有一个表需要填充各种各样的数据,其中一项是带有选项的选择菜单,当我试图填充选择菜单时,我被卡住了,现在我有一个问题 当我调用控制器的方法my_courses()时: 示范课: function professors_classes($username){ $this->db->where("username", $username); $query = $this->db->get("tabl
function professors_classes($username){
$this->db->where("username", $username);
$query = $this->db->get("table_teach_a_course");
//if we have results then we will return them
if($query->result()){
return $query->result();
}
//else we return false
else{
return false;
}
}
这是我的剥离测试页面,在select和in选项中没有名称和值,在这里一切正常。在这里,我设法捕捉结果并展示它们:
<?php if(isset($records)) { ?>
<select>
<?php foreach ($records as $row){ ?>
<option value=""> <?php echo $row->sifra_predmeta; ?> </option>
<?php } ?>
</select>
<?php } ?>
我认为这应该将数据发送到我的视图:professor_view_insert_labwork,但我无法获取该视图上的数据。我只是不知道怎么做,为什么
这是我的精简但“重要”的视图,在选择和输入选项中同样没有名称和值,professor_视图\u insert_labwork视图:
<?php
echo form_open("controller_professor/insert_labwork");
?>
<table border="1">
<tr>
<td>course name</td> <td>button</td> <td></td>
</tr>
<tr>
<td>
<?php if(isset($records)) { ?>
<select>
<?php foreach ($records as $row){ ?>
<option value=""> <?php echo $row->sifra_predmeta; ?> </option>
<?php } ?>
</select>
<?php
}else {
echo"<h2>No records were returned!</h2>";
} ?>
</td>
<td>
<input type="submit" class="" value="Save" />
</td>
</tr>
</table>
<?php
echo form_close();
?>
课程名称按钮
但它不断地在else循环中弹出,并回显消息“未返回任何记录!”
我不知道为什么在这个视图中——professor_view_insert_labwork,我无法获取数据$记录,但在test view中,我设法提取数据
请帮助我,因为我真的不知道代码中的错误是什么
function professors_classes($username)
{
$this->db->where("username", $username);
$query = $this->db->get("table_teach_a_course");
//if we have results then we will return them
$result = $query->result_array(); //here
if(!empty($result))
{
return $result; //here
}
//else we return false
else{
return false;
}
}
和控制器
<?
function my_courses(){
$username = $this->session->userdata('username'); //1 username from session
$this->load->model('model_professor'); //2 we load a model,whose task is to load professors courses from table
$result =$this->model_professor->professors_classes($username); //3 so we send username to that model
if($result == false)
{
echo "Professor has no courses ";
}
else
{
$data['records'] = $this->model_professor->professors_classes($username);
$this->load->view('professor/test',$data);//make sure your page is correct
}
}
?>
鉴于
<?php if(!empty($records))
{
?>
<select>
<?php
foreach ($records as $row)
{
?>
<option value=""> <?php echo $row['sifra_predmeta'] ?> </option>
<?php
}
?>
</select>
<?php
}
?>
更改型号
function professors_classes($username)
{
$this->db->where("username", $username);
$query = $this->db->get("table_teach_a_course");
//if we have results then we will return them
$result = $query->result_array(); //here
if(!empty($result))
{
return $result; //here
}
//else we return false
else{
return false;
}
}
和控制器
<?
function my_courses(){
$username = $this->session->userdata('username'); //1 username from session
$this->load->model('model_professor'); //2 we load a model,whose task is to load professors courses from table
$result =$this->model_professor->professors_classes($username); //3 so we send username to that model
if($result == false)
{
echo "Professor has no courses ";
}
else
{
$data['records'] = $this->model_professor->professors_classes($username);
$this->load->view('professor/test',$data);//make sure your page is correct
}
}
?>
鉴于
<?php if(!empty($records))
{
?>
<select>
<?php
foreach ($records as $row)
{
?>
<option value=""> <?php echo $row['sifra_predmeta'] ?> </option>
<?php
}
?>
</select>
<?php
}
?>
在您的型号中替换
if($query->result()){
return $query->result();
}
与
在您的模型中替换
if($query->result()){
return $query->result();
}
与
我现在尝试了,但仍然是同一个问题。它在测试页上工作相同,但在我的professor视图上再次转到else Loop我现在尝试了,但仍然是同一个问题。它在测试页上工作相同,但在我的professor视图上再次转到else loopnow在该行的模型中抛出一个错误:$result=$query>result_array();但我还是不明白。总的来说,我很好地填充了下拉菜单,现在我试着在professor_view_insert_labwork页面中复制我的测试页面,当我这样做时,他再次进入else循环,这是我不理解的部分。我只需将我的测试页面复制粘贴到professor_view_insert_labwork页面,并在控件中更改:$this->load->view('professor/professor_view_insert_labwork',$data);还是什么都没有!这里没有空格
$result=$query>result\u数组()代码>我在这里发布代码时犯了一个错误,代码中没有空格现在在模型中为这一行抛出一个错误:$result=$query>result_array();但我还是不明白。总的来说,我很好地填充了下拉菜单,现在我试着在professor_view_insert_labwork页面中复制我的测试页面,当我这样做时,他再次进入else循环,这是我不理解的部分。我只需将我的测试页面复制粘贴到professor_view_insert_labwork页面,并在控件中更改:$this->load->view('professor/professor_view_insert_labwork',$data);还是什么都没有!这里没有空格$result=$query>result\u数组()代码>我在这里发布代码时出错,代码中没有空格