1

この質問を正しく作成したかどうかはわかりませんが、自分自身をよりよく説明しようと思います。
新しい選択が選択されると新しい結果を出力する次のメニューがページにあります。 メニューを選択

Izaberite pol:それぞれ3つのIzaberite studente:オプションが含まれています。oba, zenski, muskioba, 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:

動作しません1 && 動作しません2 は機能しません

しかし、前のフィールド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>

これが理にかなっていることを願っています。必要に応じて、これをさらに明確にします。
助けていただければ幸いです。

4

3 に答える 3

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");
于 2012-04-03T20:51:26.777 に答える
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 を返すと思います。

于 2012-04-03T21:27:47.040 に答える
0

ビュー '$this->load->view('prijava/trust.php', $data);' を呼び出している追加のメモ。- trust.php は単なる信頼ではありません - CI は、ビューで「要求」するときに .php を末尾に追加します。

于 2012-04-03T21:27:33.827 に答える