PHP在表中获取具有单独样式的数组

时间:2016-02-21 13:51:47

标签: php mysql arrays

我有一个数组,我从一个看起来像这个

的数据库中提取

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,我想使可点击。我只是无法弄清楚如何拆分函数,以便我可以为各列编写代码。

2 个答案:

答案 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>';
}

使用switch语句

如果您决定使用此路线,从长远来看可能会更容易管理,因为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()