我有一个数组,我从一个看起来像这个
的数据库中提取id - name - shortlink - downloadurl - count - date
现在我想将该数组显示为一个表,以便该站点的管理员可以查看数据库的内容。为此,我使用了这段代码:
function build_table($array){
// start table
$html = '<table id="usertable">';
// header row
$html .= '<tr class="header">';
foreach($array[0] as $key=>$value){
$html .= '<th>' . $key . '</th>';
}
$html .= '</tr>';
// data rows
foreach( $array as $key=>$value){
$html .= '<tr>';
foreach($value as $key2=>$value2){
$html .= '<td>' . $value2 . '</td>';
}
$html .= '</tr>';
}
// finish table and return it
$html .= '</table>';
return $html;
它很棒。 问题是我不会用不同的代码显示一些列。例如。 &#39; downloadurl&#39;这是一个webadress,我想使可点击。我只是无法弄清楚如何拆分函数,以便我可以为各列编写代码。
答案 0 :(得分:1)
您可以尝试类似以下内容:
这可能是处理每列不同属性的最直接方式 - 并非没有缺点(如下所述)
// data rows
foreach( $array as $key => $value) {
$html .= '<tr>';
foreach($value as $key2 => $value2) {
if ($key2 == 'downloadurl') {
$html .= '<td><a href="' . $value2 . '">Download</a></td>';
} else {
$html .= '<td>' . $value2 . '</td>';
}
}
$html .= '</tr>';
}
如果您决定使用此路线,从长远来看可能会更容易管理,因为if () elseif () else()
会随着时间的推移变得难以阅读。
foreach($value as $key2 => $value2) {
switch($key2) {
case 'downloadurl':
$html .= '<td><a href="' . $value2 . '">Download</a></td>';
break;
default:
$html .= '<td>' . $value2 . '</td>';
}
}
答案 1 :(得分:0)
使用此功能生成网址:
['false', 'false', 'false', 'true', 'false', 'false', 'false', 'true', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false'...]
您的function getURL($downloadURL)
{
$html = "<a href = '$downloadURL'>Download</a>";
return $html;
}
:
function build_table()