我不知道我是否正确地提出了这个问题,但让我试着更好地解释自己 我的页面上有以下菜单,一旦选择了新的选择,就会输出新的结果:
Izaberite pol:
和Izaberite studente:
分别包含3个选项oba, zenski, muski
和oba, stari, novi
。
我添加了一些Javascript以识别选项更改并自动调用控制器操作:
$("select.filter").change(function () {
var str = "";
$("select option:selected").each(function () {
str += $(this).attr('value') + "/";
});
window.open("http://vipassana-srbija.comli.com/index.php/login/trust/"+str,"_self");
});
从Javacript代码中可以看出,它将调用控制器的登录信任功能:
public function trust($tabela="letnji",$pol="oba", $student="oba"){
$data['rezultat']= $this->prijava_model->zgrabi_tabelu($tabela,$pol,$student);
$data['tabela']=$tabela;
$data['pol']=$pol;
$data['student']=$student;
$prijavljen = $this->session->userdata('prijavljen');
if($prijavljen)
{
$this->load->view('prijava/trust.php', $data);
}
else
{
redirect('login');
}
}
此外,您会注意到它使用了Prijava_model
模型的zgrabi_tabelu
函数:
function zgrabi_tabelu($tabela,$pol,$student){
$upit_rezultat=array();
if($pol=="oba" && $student="oba")
$upit = $this->db->get($tabela);
else if($pol!="oba" && $student!="oba")
$upit=$this->db->get_where($tabela,array('pol'=>$pol,'stari_novi_student'=>$student));
else if($pol!="oba" && $student=="oba")
$upit=$this->db->get_where($tabela, array('pol'=>$pol));
else if( $pol=="oba" && $student!="oba")
;//$upit=$this->db->get_where($tabela, array('stari_novi_student'=>$student));
foreach($upit->result() as $red){
array_push($upit_rezultat, $red);
}
return $upit_rezultat;
}
我认为在模型的zgrabi_tabelu
函数中存在问题,因为每个可能的组合都可以正常工作,除了最后一个,当我尝试通过仅更改最后选择菜单Izaberite studente:
来获取数据时所有其他选项保持不变:
的 &安培;&安培; 无法使用
但是当我将上一个字段Izaberite pol:
更改为Oba
旁边的任何内容时,它都可以正常工作:
最后,让我向您提供菜单项的HTML:
<div>
<label>Izaberite kurs:</label>
<select class="kurs" id="kurs_datum">
<option value="letnji" selected='selected'>Letnji kurs(27.6 - 7.7.2012)</option>
<option value="jesenji" >Jesenji kurs(10.10 - 21.10.2012)</option>
</select>
</div>
<div>
<label>Izaberite pol:</label>
<select class="filter" id="pol">
<option value="oba" selected='selected'>Oba</option>
<option value="zenski" >Ženski</option>
<option value="muski" >Muški</option>
</select>
</div>
<div>
<label>Izaberite studente:</label>
<select class="filter" id="student">
<option value="oba" selected='selected'>Oba</option>
<option value="novi" >Novi</option>
<option value="stari" >Stari</option>
</select>
</div>
希望这是有道理的。如有必要,我很乐意进一步澄清这一点 任何帮助表示赞赏。
答案 0 :(得分:2)
在你打开一个新窗口的jquery调用中,我想你想删除那个逗号并在那里放一个斜杠
所以改变这个:
window.open("http://vipassana-srbija.comli.com/index.php/login/trust/"+str,"_self");
为:
window.open("http://vipassana-srbija.comli.com/index.php/login/trust/"+str+"/_self");
答案 1 :(得分:1)
function zgrabi_tabelu($tabela,$pol,$student){
$upit_rezultat=array();
if($pol=="oba" && $student="oba")
$upit = $this->db->get($tabela);
else if($pol!="oba" && $student!="oba")
$upit=$this->db->get_where($tabela,array('pol'=>$pol,'stari_novi_student'=>$student));
else if($pol!="oba" && $student=="oba")
$upit=$this->db->get_where($tabela, array('pol'=>$pol));
else if( $pol=="oba" && $student!="oba")
;//$upit=$this->db->get_where($tabela, array('stari_novi_student'=>$student));
foreach($upit->result() as $red){
array_push($upit_rezultat, $red);
}
return $upit_rezultat;
}
你在第一行遗漏了一个......
if($pol=="oba" && $student="oba")
应该是
if($pol=="oba" && $student=="oba")
我认为IF函数将返回false,因为它是一个false运算符。
答案 2 :(得分:0)
另外一个注释,您在调用视图'$ this-&gt; load-&gt;视图('prijava / trust.php',$ data);' - 应该信任trust.php不仅仅是信任 - 在视图中“要求”时,CI会将.php添加到最后。