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

MySQL - How to show in multiple columns html table, single column of mysql table

提问人:DiogoSaraiva 提问时间:2/18/2015 更新时间:2/18/2015 访问量:1310

问:

我想知道如何使用 html 在我的 php 文件中显示一个包含多列的表,但在该列中仅显示来自 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 个 HTML 表和 1 列,但由于条目太多,我想将该列除以每个表中的 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 |
  +---------+
php html mysql mysqli html表格

评论

0赞 Corstian Boerman 2/18/2015
如果我是你,我会先尝试摆弄一些CSS!(无论如何,我都会把这些数据和项目放在一起。<ul><li>

答:

0赞 learningJava 2/18/2015 #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 执行相同的操作

评论

0赞 DiogoSaraiva 2/18/2015
我不明白,你能解释一下吗?
0赞 learningJava 2/18/2015
基本上获取男性和女性的记录数,如果记录少于 10 条,则按列表形式显示。如果它们更多,比如 50 .那么 noofcols=50/10 = 5 列。开始循环遍历您的记录,创建一个 TD 5 次(列)并填写数据。到达 5 列末尾后,创建一个新行 <tr> 重复直到构建所有记录
0赞 DiogoSaraiva 2/18/2015
我创建了一个这样的变量:和其他带有 fcount 的变量,现在我该怎么办?$mcount = mysqli_query($con,"SELECT count(*)FROM nomes WHERE nome LIKE '$_POST[letra]%' AND sexo = 'm';");
0赞 DiogoSaraiva 2/18/2015
现在我开始理解但还不明白如何在我的 PHP 中实现代码......但不能总是 3 列?
0赞 learningJava 2/18/2015
是的,除以 10 是告诉您想要多少列的部分,因此您可以有任何因素来确定这个幻数是 10 或其他(例如页面宽度/您姓名字段的 varcharsize + 分隔符)