我希望我的PHP创建一个表,但它创建了SEVERAL

时间:2017-11-23 10:11:24

标签: php html html-table

我需要通过php创建一个表来自我的mysql服务器的数据。我设法建立了一个连接,我可以创建一个表,但我的问题是它为每一行创建了一个表,而我想要一个统一的表。这是我的代码:

$sql = 'SELECT navn, institution, klip FROM parkeringsdata';
mysqli_select_db($conn , 'parkeringsdb');
$retval = mysqli_query( $conn , $sql );
echo "<br><br><br>";
if(! $retval ) {
die('Could not get data: ' . mysqli_error());
}

while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) {

     echo "<table class='content info'>
        <tr>
          <td>Navn</td>
          <td>Institution</td>
          <td>Klip</td>
          <td>Rediger</td>
          <td>Slet</td>
        </tr>
       <tr>
         <td>".$row["navn"]."</td>
         <td>".$row["institution"]."</td>
         <td>".$row["klip"]."</td>
         <td><button type='button'>Rediger</button></td>
         <td><button type='button'>Slet</button></td>
       </tr></table><br>";
}

echo "Fetched data successfully\n";

mysqli_close($conn);

编辑:感谢所有快速回复,现在它已经解决了,我看到我把它变成了一个新手的错误。这是学校的任务,我们在这里绞尽脑汁:))

3 个答案:

答案 0 :(得分:1)

你想要从for循环中提取“”,“”和你的表头定义,所以它只会被执行一次。

而且:以这种方式创建表格很容易,但会导致容易出错的问题。很难维护代码。

可以一步一步地学习它。

但很可能你迟早要切换到模板引擎(在客户端或服务器端,以及你的应用程序选择)。

答案 1 :(得分:0)

$table = "<table class='content info'>";

while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) {

     $table .= "
        <tr>
          <td>Navn</td>
          <td>Institution</td>
          <td>Klip</td>
          <td>Rediger</td>
          <td>Slet</td>
        </tr>
       <tr>
         <td>".$row["navn"]."</td>
         <td>".$row["institution"]."</td>
         <td>".$row["klip"]."</td>
         <td><button type='button'>Rediger</button></td>
         <td><button type='button'>Slet</button></td>
       </tr>";
}
$table .= "</table><br>";

在foreach循环中有表开始和结束标记。

答案 2 :(得分:0)

while循环外的回声表

    $sql = 'SELECT navn, institution, klip FROM parkeringsdata';
mysqli_select_db($conn , 'parkeringsdb');
$retval = mysqli_query( $conn , $sql );
echo "<br><br><br>";
if(! $retval ) {
die('Could not get data: ' . mysqli_error());
}
  echo "<table class='content info'>";
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) {

    echo "<tr>
          <td>Navn</td>
          <td>Institution</td>
          <td>Klip</td>
          <td>Rediger</td>
          <td>Slet</td>
        </tr>
       <tr>
         <td>".$row["navn"]."</td>
         <td>".$row["institution"]."</td>
         <td>".$row["klip"]."</td>
         <td><button type='button'>Rediger</button></td>
         <td><button type='button'>Slet</button></td>
       </tr>";
}
echo "</table><br>";
echo "Fetched data successfully\n";

mysqli_close($conn);