【问题标题】:Two tables from one MySQL query [duplicate]来自一个 MySQL 查询的两个表 [重复]
【发布时间】:2016-01-10 10:39:27
【问题描述】:

假设我有一张名为“farmstuff”的桌子,就像这张高度简化且看起来很奇怪的桌子;

id 标记 pjob 角色 jobDesc 1 1 马 Smithy Smith Stuff 1 1 马 铁匠铺 更多铁匠铺的东西 1 1 horses Smithy Even More Smith stuff 2 1 头奶牛蹄铁 穿上左前鞋 2 1 头奶牛蹄铁 穿上右前鞋

而我的PHP读取是这样的:

 <?php
 $tableheader = "<table><thead><tr><th>col3</th><th>col4</th></tr></thead><tbody>";
 $sql = "SELECT id, mark,  pjob, role, jobDesc FROM farmstuff WHERE mark = 1 ORDER BY id";
     $echo($tableheader);
     foreach($found->query($sql) as $row) {
         echo ("<tr>");
     }
         echo("<td>$row[role]</td>");
         echo("<td>$row[jobDesc]</td>");
     }   echo("</tr></tbody></table>");
 ?>

我想要的是两个如下表。尽管有其他变量的值,但我想在 id 值的变化时打破表格。因此,如果它的 1 那么第一个标题是 horses,如果它的 2 那么标题是奶牛。请记住,这些现在是表格。那么首先我如何从 SQL 的输出中创建两个带有适当中断的表,其次我应该如何将标签放在每个表的顶部,如下例所示?

马匹 col4 col5 铁匠铺的东西 更多史密斯的东西 史密斯甚至更多史密斯的东西 奶牛 col4 col5 穿上左前鞋 马蹄铁 穿上右前鞋

【问题讨论】:

  • 我得到了我需要的答案,所以没什么大不了的,但我完全不确定 Barmar 先生如何看待我的问题和其他问题?首先,您甚至几乎无法阅读其他问题。英语显然不是他的第一语言。那又怎样,我不在乎这个。我认为 Barmar 先生只想多提一点。

标签: php html mysql


【解决方案1】:

这没有经过测试(更多的是原型),但类似这样:

<?php
 $tableheader = "<table><thead><tr><th>col3</th><th>col4</th></tr></thead><tbody>";
 $sql = "SELECT id, mark,  pjob, role, jobDesc FROM farmstuff WHERE mark = 1 ORDER BY id";
     $echo($tableheader);
     $lastid = '';
     foreach($found->query($sql) as $row) {
         if($lastid != $row[role]) {
           echo ("<tr><td colspan=2>$row[id]</td></tr>");
         }
         echo ("<tr>");
         echo("<td>$row[role]</td>");
         echo("<td>$row[jobDesc]</td>");
         echo("</tr>");
         $lastid = $row[role];
     }
     echo("</tbody></table>");
 ?>

【讨论】:

  • 完全按照我的要求工作。我知道它必须相当容易,但就是无法解决。
猜你喜欢
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 2016-11-10
  • 1970-01-01
  • 2014-03-17
  • 1970-01-01
  • 2022-01-09
  • 2014-08-19
相关资源
最近更新 更多