如果我在英语中犯了任何错误,请原谅我,这不是我最好的语言。如果我犯了错误,我会编辑这篇文章,请告诉我。
我正在尝试使用带有选择标记的Codeigniter创建一个php页面,该标记的值来自数据库,并且我尝试根据前者的值填充第二个选择标记。
我的college_subj数据库有三列。 CollCode,SC和Subj。
基本上,大学代码(CollCode)和主题代码(SC)有组合。大学代码X可以具有A,B,C SC,大学代码Y可以具有B,C,D,E SC。当第一个选择标记CollCode有一个值时,我试图让那些SC出现在我的第二个选择标记上。
页面的功能是从两个选择标签接受值并将其插入数据库。
这是我的edit.php上的select标签:
<form method="post" action="<?php echo base_url();>index.php/Controller/insertfunction" id="crq">
<h3>Select College Code:</h3>
<select id="codecrq" name="code">
<option value="" selected="selected">---Select College Code---</option>
<?php foreach ($code as $row4): ?>
<option label="<?php echo $row4['Code']; ?>" value="<?php echo $row4['Code']; ?>" <?php echo set_select('code', $row4['Code'], False); ?>> <?php echo $row4['Code'] ; ?> </option>
<?php endforeach; ?>
</select>
<h3>Select SC:</h3>
<select id="sccrq" name="sc">
<option value="" selected="selected">---Select SC---</option>
</select>
</form>
以下是我如何获得我在模型中的代码选择标记中放置的值:
public function Code() {
$this->db->distinct();
$this->db->select('college_subj.CollCode');
$this->db->from('college_subj');
$query = $this->db->get();
return $query->result_array();
}
这是我尝试用来填充SC选择标记的jquery:
$("#codecrq").change(function(){
var selectedMark = $("code").val();
if(selectedMark !== ""){
$.ajax({
type: "GET",
url: "Controller/sccrq/" + selectedMark,
success: function(data){
$("#sccrq").html("");
$("#sccrq").append("<option value=''></option>");
$.each(data, function(){
$("#sccrq").append("<option value='" + this.sc + "'>" + this.sc + "</option>");
});
}
});
}
});
这是来自我的控制器的sccrq代码,该代码应该根据College Code组合获取SC并将其传递给SC select标签:
function sccrq($code){
$this->db->distinct();
$this->db->select('college_subj.sc');
$this->db->from('college_subj');
$this->db->where($code);
$query = $this->db->get()->result_array();
return $query;
}
我尝试让它运行,但SC select标签没有任何内容。
任何帮助都将深表感谢! 谢谢你的时间!
答案 0 :(得分:0)
你可以尝试
function sccrq($code){
$query = $this->db->query("SELECT SC FROM college_subj WHERE code = '".$code."'");
return $query;
}