2

わかりました、ここにいます。率直に言ってください。アドバイスが必要です

ここで、「データベース」にコード点火の問題があります。これがコードです

    $as="&";
    $string1="title=";
    $a= $this->input->post('title');
    $string2="category=";
    $b= $this->input->post('category');
    $string3="length_comparison=";
    $c= $this->input->post('length_comparison');
    $string4="length=";
    $d= $this->input->post('length');


    $combine=$string1.$a.$as.$string2.$b.$as.$string3.$c.$as.$string4.$d;


    $this->db->select('*');
    $this->db->from('ci_query');
    $this->db->where('ci_query.query_string',$combine);             
    $query = $this->db->get();
    $rows=$query->result();
    $count=0;

    foreach($rows as $row)
    {
        $count=$count+1;
        $query_id = $row->id;
    }

    if($count==0)
    {
        $query_id = $this->input->save_query($query_array);
    }


    redirect("films/display/$query_id");

これがロジックです

 1. i got an input from a search form  tittle,category,length_comparison,and length.
 2. first case these logic will save all those input into a column in a table, all in 1 column, if there is no same parameter
"tittle,category,length_comparison,and length" in the table.
 3. but if there is any same parameter it will not insert to the table, and just redirect to the page i choose
 4. from the table we got the id and display instead of using long query string. display the search result.

私の問題:コーディングを行ったところ、コンピューター/PCで完全に機能します。しかし、ラップトップを使用するとうまくいきません。誰かアドバイスをください。または私のコーディング?またはciバージョン?または何?

アップデート :

私はlibをオーバーライドしたのでそれは問題ではないと思うので、その関数を使用するためにこれを持っています

function save_query($query_array) {

    $CI =& get_instance();

    $CI->db->insert('search', array('query_string' => http_build_query($query_array)));

    return $CI->db->insert_id();
}

function load_query($query_id) {

    $CI =& get_instance();

    $rows = $CI->db->get_where('search', array('id' => $query_id))->result();
    if (isset($rows[0])) {
        parse_str($rows[0]->query_string, $_GET);       
    }

}

}

4

1 に答える 1

0

以下を使用する必要があります。

if($count==0)
{
    $this->db->insert('ci_query', array('query_string' => $combine));
    $query_id = $this->db->insert_id();
}

そうすれば、正しいデータを挿入し、データベースから正しい ID を読み取ることができます。

于 2012-10-15T23:51:46.310 に答える