我有这个div,它运行一些php然后将三组参数中的一组传递给一个函数。该函数返回一个echoed div。出于某种原因,这个div出现在父级下方而不是内部。这看起来非常简单,这就是为什么它给我带来了太多麻烦。我错过了什么?
这是父div:
<div class='panel-body' hrid='<?php echo $homeroom['homeroom_id'] ?>'>
<!-- figure out $class, $lunchroom, and $order for each div containing student -->
<?php
$students = get('student', ['homeroom_id' => $homeroom['homeroom_id']], 'student_id', '', 'API')->fetchAll();
foreach($students as $student){
$class='';
$dest = '';
if(in_array($student['student_id'], $detentionIds)){
echo returnStudent('detention', $firstRoundDetention, $homeroom, $notUsed, $student, 1);
}elseif(in_array($student['student_id'], $hwIds)){
echo returnStudent('homework-club', $firstRoundHC, $homeroom, $notUsed, $student, 2);
}else{
echo returnStudent('recess', $firstRoundRecess, $homeroom, $notUsed, $student, 3);
}
} ?>
</div>
这是生成要在父级内回显的div的函数:
function returnStudent($class, $array, $homeroom, $notUsed, $student, $dataSort){
if($homeroom['homeroom_id'] == $array['room1']){
$class.= ' not-moved';
$dest = $array['room1'];
$suffix = 'homeroom matches room1';
}else{
if(in_array($homeroom['homeroom_id'], $array['rooms'])){
$class.= ' moved';
$dest = $array['room1'];
$hr = get('homeroom', ['homeroom_id' => $array['room1']], 'homeroom_id', 1, 'API')->fetch();
$suffix = $hr['homeroom_name'];
}else{
if($notUsed['homeroom_id'] == $homeroom['homeroom_id']){
$class.= ' not-moved';
$dest = $homeroom['homeroom_id'];
$suffix = 'does not move';
}else{
$class.= ' moved';
$dest = $notUsed['homeroom_id'];
$hr = get('homeroom', ['homeroom_id' => $notUsed['homeroom_id']], 'homeroom_id', 1, 'API')->fetch();
$suffix = $hr['homeroom_name'];
}
}
}
return "<div
class='alert student " . $class ."'
destination = '" . strtolower($dest) ."'
data-sort = '" . $dataSort . "'
studentid='" . $student['student_id'] ."'
homeroomid = '" . $student['homeroom_id'] . "'>
" . $student['student_fname'] . " " . $student['student_lname'] . " - " . $suffix ."
<!-- close student div -->
</div>";
}