我在实习期间,我正在开发一个HTML表格,其中包含里程碑和里程碑部分(在这个项目中,我们称之为里程碑式表格)。每一个里程碑都有一堆里程碑。
为例: Milestone99具有里程碑式10,milestonefase14。
这些数据来自两个不同的数据库表。我的数组看起来如下:
Array
(
[milestonesfases] => Array
(
[10] => Array
(
[milestonefase_id] => int
[milestonefase_titel] => string
[milestonefase_milestone_id] => int
)
[14] => Array
(
[milestonefase_id] => int
[milestonefase_titel] => string
[milestonefase_milestone_id] => int
)
)
[milestone_id] => int
[milestone_titel] => string
[client] => string
[milestone_verkocht_id] => int
)我的问题是:我如何循环所有与里程碑6相关的里程碑(在本例中)
我的循环看起来如下:
foreach ($stones as $milestone)
{
echo '<tr id="'. $milestone['milestone_id'] . '" class="milestone'. $milestone['milestone_id'] . '">';
echo '<td>'. $milestone['milestone_id'] . '</td>';
echo '<td><a href="javascript:keuzeGebruiker(\'milestone'.$milestone['milestone_id']. '\',\''.$milestone['milestone_id'].'\');">' . $milestone['milestone_titel'] . '</a></td>';
echo '<td>'. $milestone['client'] . '</td>';
echo '</tr>';
for ($i = 0; $i < count($milestone['milestonesfases']); $i++)
{
echo '<tr>';
echo '<td>'. $milestone['milestonesfases']['milestonefase_id'] . '</td>';
echo '<td>'. $milestone['milestonesfases'][10]['milestonefase_titel'] . '</td>';
echo '<td></td>';
echo '</tr>';
}
}我的循环中的'10‘需要是所有里程碑式的milestone_id(在这个里程碑中是10,11,12,13,14,15 )。
我如何才能得到所有的里程碑式的成果。
注意!它必须对每一个里程碑都有效,不仅仅是这个
那一段里程碑起作用了,但里程碑式的效果不起作用。
发布于 2017-10-12 12:42:31
而不是使用for循环,
for ($i = 0; $i < count($milestone['milestonesfases']); $i++)做一个前程循环
foreach ($milestone['milestonesfases'] as $milestonesfase)
{
echo '<tr>';
echo '<td>'. $milestonesfase['milestonefase_id'] . '</td>';
echo '<td>'. $milestonesfase['milestonefase_titel'] . '</td>';
echo '<td></td>';
echo '</tr>';
}发布于 2017-10-12 13:08:39
这是检查if is数组,您可以使用与@Aron相同的foreach:
foreach ($stones as $milestone)
{
echo '<tr id="'. $milestone['milestone_id'] . '" class="milestone'. $milestone['milestone_id'] . '">';
echo '<td>'. $milestone['milestone_id'] . '</td>';
echo '<td><a href="javascript:keuzeGebruiker(\'milestone'.$milestone['milestone_id']. '\',\''.$milestone['milestone_id'].'\');">' . $milestone['milestone_titel'] . '</a></td>';
echo '<td>'. $milestone['client'] . '</td>';
echo '</tr>';
if(is_array($milestone['milestonesfases'])){
foreach ($milestone['milestonesfases'] as $key => $value) {
echo '<tr>';
echo '<td>'. $value['milestonefase_id'] . '</td>';
echo '<td>'. $value['milestonefase_titel'] . '</td>';
echo '<td></td>';
echo '</tr>';
}
}
}发布于 2017-10-12 13:04:29
请尝试
foreach ($stones as $milestone)
{
echo '<tr id="'. $milestone['milestone_id'] . '" class="milestone'. $milestone['milestone_id'] . '">';
echo '<td>'. $milestone['milestone_id'] . '</td>';
echo '<td><a href="javascript:keuzeGebruiker(\'milestone'.$milestone['milestone_id']. '\',\''.$milestone['milestone_id'].'\');">' . $milestone['milestone_titel'] . '</a></td>';
echo '<td>'. $milestone['client'] . '</td>';
echo '</tr>';
foreach($milestone['milestonesfases'] as $milestoneRow)
{
if($milestoneRow['milestonefase_milestone_id'] == $milestone['milestone_id']) {
echo '<tr>';
echo '<td>'. $milestoneRow['milestonefase_id'] . '</td>';
echo '<td>'. $milestoneRow['milestonefase_titel'] . '</td>';
echo '<td></td>';
echo '</tr>';
}
}
}https://stackoverflow.com/questions/46709837
复制相似问题