【问题标题】:Data from Database into the table (can't figure out how to do layout)数据库中的数据到表中(不知道如何进行布局)
【发布时间】:2018-02-18 21:24:23
【问题描述】:

这是我的代码(可怕的):

<?php

include 'connect/con.php';

$result = mysqli_query($con,"SELECT id, vidTitle FROM newsvid");
$result1 = mysqli_query($con,"SELECT imgCover, vidSD FROM newsvid");
$result2 = mysqli_query($con,"SELECT published FROM newsvid");




echo "<table width=\"600\" border=\"1\"><tbody>";
while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo '<td width=\"10%\"><a href="details.php?id='.$row['id'].'">'.$row['id'].'</a></td>';
  echo "<td width=\"90%\">" . $row['vidTitle'] . "</td>";
  echo "</tr>";
}
echo "</tbody></table>";


echo "<table width=\"600\" border=\"1\"><tbody>";
while($row = mysqli_fetch_array($result1)) {
  echo "<tr>";
  echo "<td width=\"40%\">" . $row['imgCover'] . "</td>";
  echo "<td width=\"60%\">" . $row['vidSD'] . "</td>";
  echo "</tr>";
}
echo "</tbody></table>";




echo "<table width=\"600\" border=\"1\"><tbody>";
while($row = mysqli_fetch_array($result2)) {
  echo "<tr>";
  echo "<td >" . $row['published'] . "</td>";
  echo "</tr>";
}
echo "</tbody></table>";



mysqli_close($con);
?>



</body>
</html>

问题是如何在这个布局中显示来自数据库的数据:

--------------------------------
-id----------vidTitle-----------
--------------------------------
-imgCover------vidSD------------
--------------------------------
----------published-------------

所以每次我添加更多数据时,我之前展示的另一个块将在现有块下添加。 ..................................................... ......................................

【问题讨论】:

    标签: php html mysqli html-table


    【解决方案1】:

    无需编写 3 个查询。您可以只选择一个选项,然后将所有回声放入while。这样你写,它会首先运行所有的 id 和标题,然后它会在表格之后放置一个表格,带有封面和vidSD

    尝试进行单个查询:

    SELECT id, vidTitle, imgCover, vidSD, published FROM newsvid

    这样,在从数据库返回的每一行上,您将拥有关于同一行的所有信息。

    现在,运行一段时间和你做的一样,只是调整了一些 HTML:

    echo "<table width='600' border='1'><tbody>";
    while($row = mysqli_fetch_array($result)) {
      echo "<tr>";
      echo '<td width=\"10%\"><a href="details.php?id='.$row['id'].'">'.$row['id'].'</a></td>';
      echo "<td width=\"90%\">" . $row['vidTitle'] . "</td>";
      echo "</tr>";
      echo "<tr>";
      echo "<td width=\"40%\">" . $row['imgCover'] . "</td>";
      echo "<td width=\"60%\">" . $row['vidSD'] . "</td>";
      echo "</tr>";
      echo "<tr>";
      echo "<td colspan='2'>" . $row['published'] . "</td>";
      echo "</tr>";
    }
    echo "</tbody></table>";
    

    您可能也想订购。添加ORDER BY id DESC,就可以了。

    【讨论】:

    • 一切看起来都很酷,但主要问题是在表格宽度 10% 和另一个 td 40% 不起作用的 TR 中(((
    • 所有表格看起来都像 50% x 50%,如果您更改为 10% x 90%,则没有任何变化,它们仍然是相同的..
    猜你喜欢
    • 1970-01-01
    • 2012-09-27
    • 2015-11-05
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    相关资源
    最近更新 更多