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 " ";
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! (无论如何,我会将这些数据放在<ul>
和 <li>
项目中。)
【参考方案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 列的末尾,创建一个新行$mcount = mysqli_query($con,"SELECT count(*)FROM nomes WHERE nome LIKE '$_POST[letra]%' AND sexo = 'm';");
和其他变量,现在我该怎么办?
现在我开始理解但不明白如何在我的 php 中实现代码......但不能总是 3 列?
是的除以 10 是告诉你想要多少列的部分。所以你可以有任何因素来确定这个幻数是 10 或其他(比如页面宽度/varcharsize 你的名称字段+分隔符)
以上是关于MySQL - 如何在多列 html 表中显示,单列 mysql 表的主要内容,如果未能解决你的问题,请参考以下文章