使用php从数据库显示多个列

时间:2016-04-20 13:30:51

标签: php

我有一个php函数:

function get_files() {
    global $path, $sql_algemeen, $oldServer, $newServer;
    $dir = opendir($path);
    while($file = readdir($dir) ) {
        if(substr($file,0,1) != '.') {
            $query = "SELECT * FROM rb_migration_files WHERE filename = '$file'";
            $sql_algemeen->Query($query);
            if ($sql_algemeen->NumberRows() > 0) {
                $sql_algemeen->ReadRow();
                $files[$file] = $sql_algemeen->RowData['status'];
                <<<< What should I do here or how should I modify this part. >>>>
            } else {
                $query = "INSERT INTO rb_migration_files (filename, status, old_server, new_server) VALUES ('$file', 0, $oldServer, $newServer);";
                $sql_algemeen->Query($query);
                $files[$file] = 0;
            }
        }
    }
    return($files);
}

如何从数据库中检索更多的那一列?因为在这种情况下只有$files[$file] = $sql_algemeen->RowData['status'];是返回的一件事,但我想再增加两列。

那我怎么回应呢?因为这就是在这一刻所做的事情;

foreach($files as $file=>$status) {
    echo '<tr>';
    echo '<td>' . '<a href="?bestand='. $file.'">'.$file . '</a></td>';
    echo '<td> . $status . </td>';
    echo '<td style="text-align:center">'. <<Here I want the next columns>> .'</td>';
    echo '<td style="text-align:center">' . <<And the next one>> .'</td>';
    echo '</tr>';
}

我可以感觉到我很接近,但我只是没有更多的专栏。

1 个答案:

答案 0 :(得分:0)

您应该能够使用$sql_algemeen->RowData['other_column_name'];获取其他列的数据。代码已经选择了数据库中的所有列,SELECT *表示(*代表所有列)。

回声&#39;您首先需要将数据添加到$ files数组中,以便在echo循环中可用。为此,您需要重写$ files数组。这里使用新列&#34; some_column&#34;:

重写代码
function get_files() {
  global $path, $sql_algemeen, $oldServer, $newServer;
  $dir = opendir($path);
  while($file = readdir($dir) ) {
      if(substr($file,0,1) != '.') {
          $query = "SELECT * FROM rb_migration_files WHERE filename = '$file'";
          $sql_algemeen->Query($query);
          if ($sql_algemeen->NumberRows() > 0) {
              $sql_algemeen->ReadRow();
              $files[$file] = array(
                'status' => $sql_algemeen->RowData['status'],
                'some_column' => $sql_algemeen->RowData['some_column'],
              );
          } else {
              $query = "INSERT INTO rb_migration_files (filename, status, old_server, new_server) VALUES ('$file', 0, $oldServer, $newServer);";
              $sql_algemeen->Query($query);
              $files[$file] = array(
                'status' => 0,
                'some_column' => 'some_value', // whatever the columns value is on creation.
              );
          }
      }
  }
  return($files);
}

foreach($files as $file=>$column) {
  echo '<tr>';
  echo '<td>' . '<a href="?bestand='. $file.'">'.$file . '</a></td>';
  echo '<td> . $column['status'] . </td>';
  echo '<td> . $column['some_column'] . </td>';
  echo '<td style="text-align:center">'. <<Here I want the next columns>> .'</td>';
  echo '<td style="text-align:center">' . <<And the next one>> .'</td>';
  echo '</tr>';
}

当然,更改$ files变量可能会破坏您在此处未提及的代码的其他部分。

相关问题