我正在使用服务器端数据表插件的示例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] ];
当我点击表中的"测试"时,它会转到http://osu.py.sh/d/$aRow[$aColumns[$i]]]而不是ID。
据我所知,我需要的ID在$aRow[$aColumns[$I]]中;我该如何解决这个问题?
要在字符串中展开的变量名需要双引号。
然而,由于您使用的是3个变量,我会将字符串连接起来以避免混淆:
$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] ];
至
$row[] = ($aRow[ $aColumns[$i] ]) ? '<a href='http://osu.ppy.sh/d/'.$aRow[ $aColumns[$i]].''>test</a>' : $aRow[ $aColumns[$i] ];