質問

データベースから取得したデータの配列からテーブルを自動生成するテーブル クラスを使用しています。

モデル:

function get_reports_by_user_id($userid)
{
    return $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();
}

コントローラ:

function index()
{
    echo $this->table->generate($this->mymodel->get_reports_by_user_id('1234'));
}

コントローラーが動作するようになると、最終的にコントローラーはビューに移動します。これでテーブルは問題なく生成されますが、フィールドへのリンクを追加したいと思います。たとえば、 id この列を使用すると、そのレポート ID のみのデータのページにリンクできるようになります。昔ながらの方法でテーブルを手動で出力できることはわかっています。その後、必要なリンクを追加できますが、できる限り自動生成を使用できるようにしたいと考えています。表のセルをリンクするような一般的なことを行う方法があるはずです。何かアイデアがある人はいますか?

編集:

ユーザー Java PHP ほとんどが真下にあります。これを機能させるコードは次のとおりです。

function get_reports_by_user_id($userid)
{
    $rows = $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();

    foreach ($rows as $count => $row)
    {
        $rows[$count]['id'] = anchor('report/'.$row['id'],$row['id']);
    }
    return $rows;
}

元の配列の値をアンカー テキスト バージョンに置き換えるだけで済みました。

役に立ちましたか?

解決

唯一の方法は、関数内で get_reports_by_user_id() 、すべての結果をループして、 <a href> ID にタグを付けます。このようなもの:

function get_reports_by_user_id($userid)
{
   $rows=$this->db->get_where('ss2_report',array('userid' => $userid))->result_array();
   foreach ($rows as $row)
   {
     $row->id=anchor('site.com/some_controller/some_function/'.$row->id,$row->id);
   }
   return $rows;
}

CodeIgniter のデータベース ライブラリを使用していないため、どのような形式が返されるのかわかりません $rows ただし、上記のコードを見れば、何をする必要があるかが大体わかるはずです。

他のヒント

1つのアイデアは、次のようなことをすることです。.

foreach ($row in $this->mymodel->get_reports_by_user_id('1234'))
{
    $row->id = anchor(site_url(array('report', 'user', $row->id)), $row->id);
    $this->table->add_row($row);
}
$this->table->generate();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top