PHP MYSQL 横向循环

标签 php mysql loops foreach

我正在制作一个 php 页面以从 mysql 数据库中提取信息,在我陷入困境之前,我想看看是否有更简单的方法来完成我正在做的事情。

我有一个返回多行的 MySql 查询,通过它我可以使用 while 循环轻松地循环,它显然会在有相对“匹配”数据的地方循环。

被拉出的每一行可以有 1 到 16 列数据,每一行都不同,我目前提取有效信息的方式是对每一列硬编码“if”命令,这样只有信息已经被提取输入得到显示,例如:

if($column1 != ""){
    $output .= "<div style='float: left;'>Column 1 Stuff</div>";
    }
if($column2 != ""){
    $output .= "<div style='float: left;'>Column 2 Stuff</div>";
    }

这工作正常,但它不是很动态,如果 Mysql 数据库表扩展,则需要更新代码,而事实确实如此。我真正希望能够做到的是使用一点代码,比如 while 循环,它对包含数据的每一列执行相同的过程,并忽略任何空白单元格。是否有任何人都知道的有效实现此目的的好方法?

此外,以防万一出现问题,我的“div”全部左对齐,这样当它们到达封闭 div 的末尾时,它们会自动整齐地换行到下一行,所以如果有 9 个结果,是 3 行 3 个“div”框。这是实现这种结果的有效方法吗?我正在研究使用“break”命令,并在这篇文章中回答 -> How to do a Horizontal looping in PHP ,但我遇到了太多与 IE9 之前的标签的兼容性问题,因此我尽可能避免实现更多标签。

提前感谢您的帮助,如果确实可以的话! 乔

最佳答案

类似于:

$result = mysql_query(...);
while($row = mysql_fetch_assoc($result)) {
   foreach ($row as $key => $val) {
       if (!empty($val)) {
            echo ...
       }
   }
}

将处理结果集中任意数量的列。

关于PHP MYSQL 横向循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11742755/

相关文章:

php - 查询 SQL 无法与 Laravel 5 Controller 一起使用

javascript - HTML音频-单击进行随机播放

mysql - Azure mySQL 密码已过期

mysql - 唯一键与候选键/ super 键 (MySQL)

python - 将此程序中所有可能路径返回到嵌套列表的算法

php - mysql选择日期之间

php - 链式选择 ajax 调用仅在值为数字时有效

java - 如何重复/循环/返回类

algorithm - 在每次迭代中删除元素的嵌入式循环的大 O 是什么?

php - 编辑产品帖子时 Hook