4

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

モデル:

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;
}

元の配列の値をアンカー テキスト バージョンに置き換える必要がありました。

4

2 に答える 2

7

唯一の方法は、関数内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が、上記のコードから、何をする必要があるかについての一般的なアイデアが得られるはずです。

于 2009-01-08T23:06:08.067 に答える
1

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();
于 2009-01-08T23:05:13.543 に答える