0

データベースのデータをhtmlのテーブルに表示したい。(リンクをクリックしたとき)

表の「出生」フィールド:

  • 区域
  • 1999年
  • 2000年
  • 2001年
  • 2002年
  • 2003年
  • 2004年
  • 2005年
  • 2006年
  • 2007年
  • 2008年
  • 2009年

表の「死亡」フィールド:

  • 区域
  • 1999年
  • 2000年
  • 2001年
  • 2002年
  • 2003年
  • 2004年
  • 2005年
  • 2006年
  • 2007年
  • 2008年
  • 2009年

私は自分のデータベースからデータを取得し、javascriptでajax呼び出しを実行します。インデックスコントローラーのアクションにリンクします。

Javascriptコード:

$("#wijken ul li a").click(function(e){

        district = ($(this).text());

        loadTable(district);

      });

function loadTable(district){
    var param1 = district;

    $.ajax({ 
      url: 'index/getdata',         
      type: "POST",             
      data: {param1: param1},                        
      dataType: 'json',                
      success: function(result)          
      {
        var htmlContent = "";

       // HOW CAN I PARSE THE DATA?

        htmlContent += '</tbody></table>';
        $('#tabel').html(htmlContent);

      }, 
      error: function(request, status, error){
          alert(request.responseText);
      }
    });
}

私のIndexController:

public function getdataAction()
    {
        // DISABLE VIEW
        $this->view->layout()->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);

        // WIJK CLICKED
        $district = $this->_request->getParam('param1');

        // GET THE BIRTHS/YEAR
        $birthMapper = new Frontoffice_Model_BirthMapper();
        $array = $birthMapper->read($district);

        $this->_response->setBody(json_encode($array));
    }

私のBirthMapper:

public function read($wijk = null)
    {
        $table = $this->_dbTable;

        $columns = array('wijk'         => 'wijk',
                         'year1999'     => 'year1999',
                         'year2000'     => 'year2000',
                         'year2001'     => 'year2001',
                         'year2002'     => 'year2002',
                         'year2003'     => 'year2003',
                         'year2004'     => 'year2004',
                         'year2005'     => 'year2005',
                         'year2006'     => 'year2006',
                         'year2007'     => 'year2007',
                         'year2008'     => 'year2008',
                         'year2009'     => 'year2009',
        );

        $select = $table->select()
                        ->from($table,
                               $columns
                          )
                        ->where('wijk = :wijk')
                        ->bind(array(':wijk' => $wijk))

         ;

        if ($row = $table->fetchRow($select)) {
           return $row->toArray();
       }


        throw  new Exception('The requested Births cannot be found');
    }

これで、結果として、JavaScriptのyear1999、year2000、year2001、year2002、year2003、year2004、year2005、year2006、year2007、year2008、year2009フィールドを処理できるようになりました。しかし、どうすれば複数のテーブルに対してこれを行うことができますか?(JavaScriptとコントローラーで)

4

0 に答える 0