PHP和HTML:嵌套了HTML的嵌套foreach循环
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP和HTML:嵌套了HTML的嵌套foreach循环相关的知识,希望对你有一定的参考价值。
我正在尝试将带有Accordion布局的项目布局(来自Bootstrap)放在一起。为了填充手风琴,我进入pgsql db来收集数据,我能够检索这些数据。
我遇到的问题是让数据显示出来。现在我得到一个html 500.它可能是一个布局问题,或者它可能是一个php解释问题(可能不够深入?或PHP不可见的东西),但我有问题确定哪个是罪魁祸首。
我这样说是因为我有一个相当复杂的安排,我试图做。
一个样品:
<?php
// db connection info goes here
// pgsql query info goes here
$i = 0;
$result = pg_fetch_all($getData);
?>
<!-- Starting the container accordion -->
<div class="panel-group" id="main-accordion">
<?php
foreach($result as $row):
$title1 = $row['title1'];
$title2 = $row['title2'];
?>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#main-accordion" href="#<?=$row['id']?>">
(<?=$row['category']?>) <?=$title1?> - <?=$title2?>
</a>
</h4>
</div>
<div id="<?=$row['id']?>" class="panel-collapse collapse">
<!-- The body of the accordion, contents go here. -->
<div class="panel-body">
<?php
// another pgsql query here
$newresult = pg_fetch_all($newgetData);
?>
<!-- In the accordion body, a new group of accordions. This is doable if hardcoded -->
<div class="panel-group" id="sub-accordion-<?=$i?>">
<?php
// I think this is where the issues start??
foreach($newresult as $newrow):
$subtitle = $newrow['subtitle'];
?>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data toggle="collapse" data-parent="#sub-accordion" href="#<?=$newrow['subid']?>">
<?=$subtitle?>
</a>
</h4>
</div>
<div id="<?=$newrow['subid']?>" class="panel-collapse panel">
<div class="panel-body">
<!-- contents go here -->
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
<?php
$i++;
endforeach; ?>
</div>
</div>
所以,现在我的问题是Web开发人员使用HTML PHP和Bootstrap exp。:
- 是否有可能以这种方式嵌套foreach循环而不回退到echo语句以打印HTML(因为ew)?它会以这种方式实际创建(重复)手风琴对象的HTML,还是我需要在这里修改一些东西?
- 什么可能触发HTML 500?
我意识到这是一个难以回答的问题,如果没有实时工作代码可以搞砸。如果有人知道一个很好的资源来快速沙箱整个堆栈用于演示目的,我很高兴知道它,所以我可以提出一些“工作”代码。
编辑1:用户Sean指出子手风琴是循环的。在迭代器中添加,修改此id,因为目标是具有多个子手风琴,而不是具有相同的id。
编辑2:可能已经解决了我自己的问题: 1.结果我在检索ajax请求时使用了错误的方法:使用PHP的$ _POST ['var']而不是$ _GET ['var'] 2.我的一个简写PHP标签上有一个语法错误。
现在事情正在出现!但是,格式化仍然是错误的。我可以解决这个问题。谢谢大家的帮助!
在PHP.ini中,可能会关闭短标记。在这种情况下,您要么打开,要么如果您无法访问PHP.ini,那么您不应该使用短回声标记`,尝试将其更改为
以上是关于PHP和HTML:嵌套了HTML的嵌套foreach循环的主要内容,如果未能解决你的问题,请参考以下文章