Joe*_*oeP 1 php mysql foreach loops
我正在创建一个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>";
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但它不是非常动态,如果Mysql数据库表扩展,它需要更新代码.我真正希望能够做到的只使用一些代码,比如一个while循环,它为每个包含数据的列执行相同的过程并忽略任何空白单元格.有没有人知道有效实现这一目标的好方法?
另外,万一它是一个问题,我的"div"都是左对齐的,这样当它们到达它们的封闭div的末尾时,它们会自动将它们自己包裹到下一行,所以如果有9个结果则会有3行3个"div"盒子.这是实现这种结果的有效方法吗?我正在研究如何使用"break"命令并在这篇文章中回答 - > 如何在PHP中进行水平循环,但是我对IE9之前的标签存在很多兼容性问题,我避免在可能的情况下实现.
如果你确实可以,请提前感谢你的帮助!乔
就像是:
$result = mysql_query(...);
while($row = mysql_fetch_assoc($result)) {
foreach ($row as $key => $val) {
if (!empty($val)) {
echo ...
}
}
}
Run Code Online (Sandbox Code Playgroud)
将处理结果集中的任意数量的列.