0

どんな助けでも大歓迎です。

配列をphpコントローラーに渡す選択/オプションボックスがあり、$_GETこの値をモデルに渡してMySQLを取得します。

しかし、私は今、これをうまく刺している段階にいます。問題はアレイにあると思います。

<select id="frm_type" style="margin-left:180px; width: 136px; height:100%;" name="uid[]" multiple="multiple">
    <option value="U4BC3128209B01">All Users</option>
    <option value="U4D88B8CFE7579">more options</option>        
</select>

この$_GETように見えます?&uid%5B%5D=U4DFF15A4581A4&uid%5B%5D=U4D88B8CFE7579 これはこのようにコントローラーに入ります...

$filter_in = $_GET;

次に、このようにモデルに呼び出されます。

$body_data['user_stats'] = $this->mtvm_model->user_stats($filter_in);

そして最後に、それを使用したい関連セクションはこれを行います:

        if ($filter_in['uid'] != '')
        {
        $sqlQuery .= " AND ";

        foreach($filter_in['uid'] as $key=>$value)
            {
            $sqlQuery .= " ".$this->tables_calls.".userId = '".mysql_real_escape_string($value)."' ";
            if($key != count($filter_in['uid'])-1) 
                {
                $sqlQuery .= " OR ";
                }
            }
        }

配列を誤って渡そうとしているだけ$filter_in['uid']ですか?

4

1 に答える 1

0

クエリ文字列:

uid%5B%5D=U4DFF15A4581A4&uid%5B%5D=U4D88B8CFE7579

これは$_GET["uid"]次のようになります。

Array
(
    [0] => U4BC3128209B01
    [1] => U4D88B8CFE7579
)

次のように、この変数の存在を確認する必要があります。

if (isset($filter_in['uid']) && is_array($filter_in['uid'])) {
    // ...
于 2012-11-02T15:15:28.590 に答える