我正在使用服务器端数据表插件http://datatables.net/examples/data_sources/server_side.html
的示例它工作正常,但现在我正在尝试更改我的表的代码,因为示例并不完全是我希望我的表看起来像。
有一个问题:
{
$row = array();
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
if ( $aColumns[$i] == "setid" )
{
$row[] = ($aRow[ $aColumns[$i] ]) ? '<a href=\'http://osu.ppy.sh/d/$aRow[ $aColumns[$i]]\'>test</a>' : $aRow[ $aColumns[$i] ];
}
else if ( $aColumns[$i] != ' ' )
{
/* General output */
$row[] = $aRow[ $aColumns[$i] ];
}
}
$output['aaData'][] = $row;
}
问题就在这里:
$row[] = ($aRow[ $aColumns[$i] ]) ? '<a href=\'http://osu.ppy.sh/d/$aRow[ $aColumns[$i]]\'>test</a>' : $aRow[ $aColumns[$i] ];
当我点击表格中的“test”时,它会转到http://osu.py.sh/d/ $ aRow [$ aColumns [$ i]]]而不是ID。
据我所知,我需要的ID是$ aRow [$ aColumns [$ i]]; 我该如何解决这个问题?
答案 0 :(得分:1)
变量名称需要double quotes才能在字符串中展开。
但是,当你使用3个变量时,我会连接字符串而不是混淆:
$row[] = $aRow[ $aColumns[$i] ]
? ('<a href=\'http://osu.ppy.sh/d/' . $aRow[$aColumns[$i]] . '\'>test</a>')
: $aRow[ $aColumns[$i] ];
答案 1 :(得分:1)
尝试更改此行
$row[] = ($aRow[ $aColumns[$i] ]) ? '<a href=\'http://osu.ppy.sh/d/$aRow[ $aColumns[$i]]\'>test</a>' : $aRow[ $aColumns[$i] ];
到
$row[] = ($aRow[ $aColumns[$i] ]) ? '<a href=\'http://osu.ppy.sh/d/'.$aRow[ $aColumns[$i]].'\'>test</a>' : $aRow[ $aColumns[$i] ];