【问题标题】:Table data is not arranged表格数据未排列
【发布时间】:2019-10-18 05:35:15
【问题描述】:

因为我是初学者,所以我想问一下如何使用 PHP 对同一行运行多个查询,以便在 html 的表中拥有多个数据。我尝试了很多尝试,但没有任何效果我使用 MYSQL 作为后端。我知道我没有为第一行和第二列编写代码,即检票员守门员上的第二个<td>,但问题是我希望更全面的数据进入检票员部分的第二个<td>。运行此代码时,它为 wicket keeper 提供了良好的输出,但对于更全面的列,数据在 wicket keeper 数据结束后开始。我知道为什么会出现这个问题,但是我该如何解决这个问题请告诉我??

代码在这里:

<?php
    $sql="select * from teams where role = 'WicketKeeper'";
    $result=mysqli_query($conn,$sql) or die(mysqli_error());
    while($row=mysqli_fetch_assoc($result)){ 
    ?>
    <tr>
    <td><?php echo $row["name"] ?></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
    <?php } ?>
    <?php
    $sql="select * from teams where role = 'AllRounder'";
    $result=mysqli_query($conn,$sql) or die(mysqli_error());
    while($row=mysqli_fetch_assoc($result)){ 
    ?>
    <tr>
    <td></td>
    <td><?php echo $row["name"] ?></td>
    <td></td>
    <td></td>
    </tr>
<?php } ?>

【问题讨论】:

  • 代码必须在此处粘贴为文本
  • 我试图粘贴它,但这里说它包含错误,即使根据语言的语法正确
  • 我建议您添加一个连接,这样您就可以同时查询两个表并在单个 while 循环中访问它们。这将是在同一行中输出两列的最简洁方式
  • 我将数据放在一个表中
  • “它是说即使根据语言的正确语法它也包含错误” - 所以不解析代码,所以你得到的错误与语法无关你的代码。如果您无法在此处粘贴带有语法错误的代码,那么该站点将变得毫无用处:-)

标签: php html mysql html-table pivot


【解决方案1】:

这是生成显示的行的好方法。

首先,使用这个查询:

      SELECT name, role FROM teams ORDER BY role DESC;

它按照您想要的顺序生成行,首先是检票员。

然后,使用此 php 代码生成您的显示。

<?php
  $sql="SELECT name, role FROM teams ORDER BY role DESC";
  $result=mysqli_query($conn,$sql) or die(mysqli_error());
  while($row=mysqli_fetch_assoc($result)){ 
    $role = $row["role"];
    $name = $row["name"];
    $wicketkeeper = $role == "WicketKeeper" ? $name : "";
    $allrounder = $role == "AllRounder" ? $name : "";

    ?>
    <tr>
      <td><?php echo $wicketkeeper ?></td>
      <td><?php echo $allrounder ?></td>
      <td></td>
      <td></td>
    </tr>
<?php } ?>

这会呈现查询结果集中的行,根据角色将名称放置在列中。

在一般情况下,此任务称为透视表。

专业提示 1 尽量避免在查询中使用SELECT *。而是给出您需要的列的名称。这使您的代码更容易被陌生人阅读,并且可能使您的查询运行得更快。

专业提示 2 任何时候你发现自己重用了相同的查询,但它只因WHERE 子句而不同,请尝试使用单个查询。这可以使您的应用程序运行得更快。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多