MySQL - 如何在多列 html 表中显示,单列 mysql 表

Posted

技术标签:

【中文标题】MySQL - 如何在多列 html 表中显示,单列 mysql 表【英文标题】:MySQL - How to show in multiple columns html table, single column of mysql table 【发布时间】:2015-04-18 16:06:23 【问题描述】:

我想知道如何在我的 php 文件中使用 html 显示一个包含多列的表,但在该列中只显示来自 mysqli 的单列结果

我现在拥有的是:

<?php

include "dbinc.php";

$con=mysqli_connect($servername,$username,$password,$database);

$letramasculinos = mysqli_query($con,"SELECT nome FROM nomes WHERE nome LIKE '$_POST[letra]%' AND sexo = 'm';");
$letrafemininos = mysqli_query($con,"SELECT nome FROM nomes WHERE nome LIKE '$_POST[letra]%' AND sexo = 'f';");

     (more code...)

echo "<table style='display: inline-block;' width='150px' border='1' bgcolor='#6699FF'>";
while($row = mysqli_fetch_array($letramasculinos))

echo "<tr>";
echo "<td><center>" . $row['nome'] . "</center></td>";
echo "</tr>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

echo "<table style='display: inline-block;' width='150px' border='1' bgcolor='#FF99FF'>";

while($row = mysqli_fetch_array($letrafemininos))

echo "<tr>";
echo "<td><center>" . $row['nome'] . "</center></td>";
echo "</tr>";

echo "</table>";


     (more code...)

?>

在此示例代码中,这显示了 2 个包含 1 列的 HTML 表,但由于条目太多,我希望在每个表中将该列除以 3 列(或除以 4 或 5 等...)。

我该怎么做?

例子:

我拥有什么,我想要什么

  I have this:      I Want Something like this:

  +---------+     +--------+---------+--------+
  | Diogo   |     | Diogo  | André   | João   |
  +---------+     +--------+---------+--------+
  | André   |     | Filipe | Carlos  | Gaspar |
  +---------+     +--------+---------+--------+
  | João    |     | Fabio  | Fernado |        |
  +---------+     +--------+---------+--------+
  | Filipe  |
  +---------+
  | Carlos  |
  +---------+
  | Gaspar  |
  +---------+
  | Fabio   |
  +---------+
  | Fernado |
  +---------+

【问题讨论】:

如果我是你,我会先尝试摆弄一些 CSS! (无论如何,我会将这些数据放在 &lt;ul&gt;&lt;li&gt; 项目中。) 【参考方案1】:

我不是 php 人,但一些算法可能会有所帮助。1)获取男性/女性的记录数

"SELECT count(*)FROM nomes WHERE nome LIKE '$_POST[letra]%' AND sexo = 'f'; ..... same for 'male'.  

将此保存到 mcount 和 fcount 变量中。

if mcount >10
then 
 noOfColms=mcount /10;
 i=0;
 put "<table>"
loop records 
i=i+1;
put "<tr>"
if(i<noOfColms)
   put "<td>" + data +"</td>"
if i==noOfColms
put "</tr>"     
end loop   
put "</table>"

否则 显示列表视图

对 fcount 做同样的事情

【讨论】:

没看懂,能不能多解释一下? 基本获取男性和女性的记录数,如果记录少于10则以列表形式显示。如果他们更多说 50 .then noofcols=50/10 = 5 coloumns 。开始循环遍历您的记录,创建 td 5 次(列)并填充数据。一旦你到达 5 列的末尾,创建一个新行 重复直到所有记录都建立 我用 fcount 创建了一个像这样的变量:$mcount = mysqli_query($con,"SELECT count(*)FROM nomes WHERE nome LIKE '$_POST[letra]%' AND sexo = 'm';"); 和其他变量,现在我该怎么办? 现在我开始理解但不明白如何在我的 php 中实现代码......但不能总是 3 列? 是的除以 10 是告诉你想要多少列的部分。所以你可以有任何因素来确定这个幻数是 10 或其他(比如页面宽度/varcharsize 你的名称字段+分隔符)

以上是关于MySQL - 如何在多列 html 表中显示,单列 mysql 表的主要内容,如果未能解决你的问题,请参考以下文章

如何检查mysql表中多列的重复项

如何在SQL中显示3个不同表中的多列?

Django:如何编写查询以使用多列进行排序,通过模板显示

sql查询 表中一列不重复 显示多列

Django:如何编写查询以使用多列进行排序,通过模板显示

如何将 MYSQL 表的选定行显示到 HTML 页面的示例表中?