我只是想显示行数。我已经读过,选择数据只计算行是不好的做法。但是,我遇到的问题是,我想在其中显示计数的HTML元素在实际计数之前。
有人知道我如何向后传递计数或在完成计数后检索它吗?
<div>
...
<div id="count-container">
<?php echo $count; ?>
</div>
...
</div>
...
<div id="data-container">
<?php
include "inc/connect.php";
$stri = "SELECT a, b, c, d... FROM table";
$stat = $conn->prepare($stri);
$count = 0;
if ($stat->execute()) {
while ($row = $stat->fetch(PDO::FETCH_ASSOC)) {
$count += 1;
echo '<div class="row">';
foreach ($row as $key=>$value) {
echo '<div class="' .$key. ' data">';
if (empty($value)) echo "---";
else echo $value;
echo "</div>";
}
echo "</div>";
}
}
$conn = null;
?>
</div>
甚至可能吗?
答案 0 :(得分:2)
您可以将输出存储在变量中,然后将其打印出来。这样你就可以在渲染之前获得逻辑。
<?php
include "inc/connect.php";
$output = '';
$stri = "SELECT a, b, c, d... FROM table";
$stat = $conn->prepare($stri);
$count = 0;
if ($stat->execute()) {
while ($row = $stat->fetch(PDO::FETCH_ASSOC)) {
$count += 1;
$output .= '<div class="row">';
foreach ($row as $key=>$value) {
$output .= '<div class="' .$key. ' data">';
if (empty($value)) $output .="---";
else echo $value;
$output .= "</div>";
}
$output .= "</div>";
}
}
$conn = null;
?>
<div>
...
<div id="count-container">
<?php echo $count; ?>
</div>
...
</div>
...
<div id="data-container">
<?php echo $output; ?>
</div>