在html表中显示所有MySQL表数据

新手上路,请多包涵

我正在尝试在 html 表格中显示整个 mysql 表格。到目前为止,我已经找到了以下用于显示字段的代码:

 <?php
   $con=mysqli_connect("example.com","peter","abc123","my_db");
   // Check connection
   if(mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
   }

   $result = mysqli_query($con,"SELECT * FROM Persons");

   echo "<table border='1'>
      <tr>
         <th>Firstname</th>
         <th>Lastname</th>
      </tr>";

   while($row = mysqli_fetch_array($result)) {
      echo "<tr>";
      echo "<td>" . $row['FirstName'] . "</td>";
      echo "<td>" . $row['LastName'] . "</td>";
      echo "</tr>";
   }
   echo "</table>";

   mysqli_close($con);
?>

有没有一种方法可以显示所有列/行而不必键入所有列名

echo "<td>" . $row['FirstName'] . "</td>";

原文由 Shane 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 411
2 个回答

如果您要显示所有列,则可以这样做。或者,您可以添加条件过滤器。

但是,由于您似乎是 Web 开发的新手,因此我以一种简单的方式进行了介绍。

 <?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM Persons");

echo "<table border='1'>";

$i = 0;
while($row = $result->fetch_assoc())
{
    if ($i == 0) {
      $i++;
      echo "<tr>";
      foreach ($row as $key => $value) {
        echo "<th>" . $key . "</th>";
      }
      echo "</tr>";
    }
    echo "<tr>";
    foreach ($row as $value) {
      echo "<td>" . $value . "</td>";
    }
    echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>

原文由 Mojtaba 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以这样做

while($row = mysqli_fetch_array($result))
{
echo "<tr><td>" . implode("</td><td>",$row) . "</td></tr>";
}

例子

编辑

为了尝试使用数据库复制粘贴以下代码到 phpfiddle.org 工作区(首先检查主页中的 MySQLi 库)。

 <?php
/**
 * Mysqli initial code
 *
 * User permissions of database
 * Create, Alter and Index table, Create view, and Select, Insert, Update, Delete table data
 *
 * @package         PhpFiddle
 * @link            http://phpfiddle.org
 * @since           2012
*/
require "util/public_db_info.php";
$short_connect = new mysqli($host_name, $user_name, $pass_word, $database_name, $port);
$sql = "SELECT * FROM `books` WHERE title='The Martian'";
$result = $short_connect->query($sql);
if (($result) && ($result->num_rows > 0))
{
    echo "<table>";
    //convert query result into an associative array
    while ($row = $result->fetch_array())
    {
        echo "<tr><td>" . implode("</td><td>",$row) . "</td></tr>";
    }
    echo "</table>";
    $result->free();
}
$short_connect->close();
?>

原文由 user2560539 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题