0

次のような if ループがあります。

if(!empty($all_msg_e))
{ print_r($all_msg_e);

        foreach($all_msg_e as $ae)
        {
            echo $ae['msg_desc']."<br>";
            display($ae['msg_id']);
        }
}

function display()は:

function display($msg_id,$obj)
{
    
    $this->db->select("*");
    $this->db->from("et_msg");
    $this->db->where("link_to",$msg_id);
    $child_msg=$this->db->get()->result_array();
    
    print_r($child_msg);die;
        echo $child_msg['msg_desc']."<br>";
        echo $child_msg['msg_id']."<br>";
        $msg_id=$child_msg['msg_id']."<br>";    
    
    display($msg_id);
}

ここでエラーが発生しました: Using $this when not in object context

次に、この回答を参照して、 $thisを任意の変数$objに置き換えました

$obj->db->select("*");
    $obj->db->from("et_msg");
    $obj->db->where("link_to",$msg_id);
    $query = $obj->db->get();

その後、次のようなエラーが発生し始めました:非オブジェクトでメンバー関数 select() を呼び出す

このすべての背後にある概念は次のとおりです。「et_msg」という名前のテーブルがあり、その中に2人の人物間のいくつかのメッセージが保存されています。会話は、あるメッセージの ID を別のメッセージの「link_to」フィールドに格納することによってリンクされます。そして会話を次々と表示したい

何が間違っているのですか?? 完全に立ち往生..

PS私は同じためにCodeIgniterを使用しています

4

1 に答える 1

0

クラスに関数表示を追加

そしてそれはうまくいきました.. :)

于 2013-03-02T11:05:04.247 に答える