データベースのデータを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とコントローラーで)