三列PHP结果表
我试图将我的mysql查询显示到一个相当独特的表中。 其特点如下:三列PHP结果表,php,loops,html-table,Php,Loops,Html Table,我试图将我的mysql查询显示到一个相当独特的表中。 其特点如下: 结果表有3列 右上角的单元格保留给其他内容 [结果1][结果2][content] [结果3][结果4][结果5] [结果6][结果7][结果8] …等等 查询最多可以返回一个结果。 但我正努力在循环中得到我需要的东西 如果有人知道如何去追求这样的东西,我希望得到一些帮助! 提前谢谢 编辑**这是到目前为止我的代码 结果分为三列,但我无法获得在右上角单元格中显示其他静态内容的条件 $row = 0; $column = 0; e
$row = 0;
$column = 0;
echo "<table>";
while($row = mysql_fetch_assoc($result)) {
if ($column == 0) {echo "<tr>";}
if (($column == 2) && ($row == 0)){echo "<td>content</td></tr><tr>";}
echo "<td>".$row['business']."</td>";
$column++;
if ($column >= 3) {
$row++;
echo "</tr>";
$column = 0;
}
}
echo "</table>";
$row=0;
$column=0;
回声“;
while($row=mysql\u fetch\u assoc($result)){
如果($column==0){echo”“;}
如果($column==2)和($row==0)){echo“content”;}
回显“$row['business']”;
$column++;
如果($column>=3){
$row++;
回声“;
$column=0;
}
}
回声“;
假设是一个纯html表,那么
$row = 0;
$column = 0;
echo '<table>';
while($row = mysql_fetch_assoc($result)) {
if ($column == 0) {
echo '<tr>';
}
if (($column == 2) && ($row = 0))
echo '<td>content</td></tr><tr>'; // output special content, start new row
}
echo "<td>$row[something]</td>";
$column++;
if ($column >= 3) {
$row++;
echo '</tr>';
$column = 0;
}
}
echo '</table>';
$row=0;
$column=0;
回声';
while($row=mysql\u fetch\u assoc($result)){
如果($column==0){
回声';
}
如果(($column==2)和($row=0))
echo'content';//输出特殊内容,开始新行
}
回声“$行[某物]”;
$column++;
如果($column>=3){
$row++;
回声';
$column=0;
}
}
回声';
可能不会按原样工作,但应该能让您大致了解情况。基本上只输出行/列,直到到达第1行/第3列,然后输出您的特殊内容,否则只输出一旦您在
$rows
中获得结果行,将其拆分为一个数组:
$table = array();
while (count($rows)){
$group = array_slice($rows, 0, 3);
$rows = array_slice($rows, 3);
while (count($group) < 3) $group[] = array();
$table[] = $group;
}
显示您迄今为止编写的代码您尝试了什么?我会在MySQL结果数组中进行一个简单的循环,并在“内容”部分使用“I==3”和“I%3==0”等条件来开始一个新行。这只是一个普通的html表格,还是一些纯css版本?@MarcB-是的,普通的html表格我的原始代码与Marc非常相似,所以我现在正在研究这个示例。谢谢Marc。我得到了三列的结果,但每行的第三列都返回一个假$row[something],而不是第一行的“content”和第2+行的有效$row[something]。有什么想法吗?哦,我在第二条IF语句的“echo”之前添加了一个额外的花括号。我在原始帖子中添加的代码将所有内容加载到三列中,但右上角单元格的条件语句似乎不起作用。你知道为什么吗?
foreach ($table as $group){
echo "<tr>\n";
foreach ($group as $row){
if ($row['id']){
echo "<td>".format_data($row)."</td>\n";
}else{
# empty padding cell on last row
echo "<td> </td>\n";
}
}
echo "</tr>\n";
}