我有这段代码,想要问一下,当结果集中没有行时,while($ row = mysqli_fetch_assoc($ result_table_main))是否结束? 不明白为什么会结束,因为虽然没有反击。 这是我帖子中唯一的问题。也许你可以给我一个正确的解释。
我在这方面工作很长时间,因为我之前对此并不了解。现在我需要为我的工作付出代价。
感谢您的回答!
<?php
$sql_table_main = "SELECT id,name_Gleitzeitrahmen, name_Abweichungen, name_Mehrarbeitervolumen, name_Mehrarbeit1, name_Ausgleich, name_Mehrarbeit2, name_Personalmassnahmen, name_Ueberstunden, name_Ueberstunden_abzusehen, name_Klaerungsbedarfe1, name_Klaerungsbedarfe2 FROM landrat_dashboard";
$result_table_main = mysqli_query($con, $sql_table_main);
?>
<div class="card-content table-responsive table-maxheight" style="overflow:scroll;">
<table class="table table-hover table-mc-green table-bordered table-striped table-condensed">
<thead class="text-primary">
<th class="thbackground_green">ID</th>
<th class="thbackground_green">Gleitzeitrahmen</th>
<th class="thwidth thbackground_green">Abweichungen</th>
<th class="thwidth thbackground_green">Mehrarbeitervolumen</th>
<th class="thwidth thbackground_green">Mehrarbeit</th>
<th class="thwidth thbackground_green">Ausgleich</th>
<th class="thwidth thbackground_green">Mehrarbeit</th>
<th class="thwidth thbackground_green">Personalmaßnahmen</th>
<th class="thwidth thbackground_green">Überstunden im Rahmen?</th>
<th class="thwidth thbackground_green">Sind Überstunden abzusehen?</th>
<th class="thbackground_green">Klärungsbedarfe</th>
<th class="thwidth thbackground_green">Klärungsbedarfe Beschreibung</th>
</thead>
<tbody>
<?php
if(mysqli_num_rows($result_table_main) > 0){
while ($row = mysqli_fetch_assoc($result_table_main)) {
echo '<tr>';
echo '<td>'. $row['id'] .'</td>';
echo '<td>'. $row['name_Gleitzeitrahmen'] .'</td>';
echo '<td>'. $row['name_Abweichungen'] .'</td>';
echo '<td>'. $row['name_Mehrarbeitervolumen'] .'</td>';
echo '<td>'. $row['name_Mehrarbeit1'] .'</td>';
echo '<td>'. $row['name_Ausgleich'] .'</td>';
echo '<td>'. $row['name_Mehrarbeit2'] .'</td>';
echo '<td>'. $row['name_Personalmassnahmen'] .'</td>';
echo '<td>'. $row['name_Ueberstunden'] .'</td>';
echo '<td>'. $row['name_Ueberstunden_abzusehen'] .'</td>';
echo '<td>'. $row['name_Klaerungsbedarfe1'] .'</td>';
echo '<td>'. $row['name_Klaerungsbedarfe2'] .'</td>';
echo '</tr>';
}
}
?>
</tbody>
</table>
答案 0 :(得分:1)
<?php
if(mysqli_num_rows($result_table_main) > 0){
while ($row = mysqli_fetch_assoc($result_table_main)) {
echo '<tr>';
echo '<td>'. $row['id'] .'</td>';
echo '<td>'. $row['name_Gleitzeitrahmen'] .'</td>';
echo '<td>'. $row['name_Abweichungen'] .'</td>';
echo '<td>'. $row['name_Mehrarbeitervolumen'] .'</td>';
echo '<td>'. $row['name_Mehrarbeit1'] .'</td>';
echo '<td>'. $row['name_Ausgleich'] .'</td>';
echo '<td>'. $row['name_Mehrarbeit2'] .'</td>';
echo '<td>'. $row['name_Personalmassnahmen'] .'</td>';
echo '<td>'. $row['name_Ueberstunden'] .'</td>';
echo '<td>'. $row['name_Ueberstunden_abzusehen'] .'</td>';
echo '<td>'. $row['name_Klaerungsbedarfe1'] .'</td>';
echo '<td>'. $row['name_Klaerungsbedarfe2'] .'</td>';
echo '</tr>';
}
}
?>
这意味着:它在rusult中的行数大于0,然后对结果中的每一行都做回声。
是的:
如果while($ row = mysqli_fetch_assoc($ result_table_main))在结果集中没有行时结束了吗?
答案 1 :(得分:1)
来自函数mysqli_fetch_assoc的documentation的引用:
返回值:返回表示的字符串的关联数组 取了一排。如果结果集中没有更多行,则为NULL
因此,如果没有更多的行来获取该函数将返回null。如果查看while循环条件,它将如下所示(仅当没有更多行时):
$row = null
评估为 false ,因此不符合条件,因此循环将结束。