2 回答

TA貢獻1906條經(jīng)驗 獲得超10個贊
關(guān)于您的代碼風格的兩個方面的評論:
1) 盡量避免使用echo靜態(tài) HTML 內(nèi)容 - 禁用 PHP。
2) 嘗試將您的數(shù)據(jù)庫邏輯與 HTML 分開 - 代碼會更干凈。
$rows = [];
if ($result = mysqli_query($link, "SELECT * FROM factory ORDER BY Fac_ID ASC"))
{
while ($row = mysqli_fetch_array($result))
{
$rows[] = $row;
}
}
$rows_chunked = array_chunk($rows, 3);
?>
<table class="table table-bordered" bgcolor="#ffffff" width="50%">
<?php
foreach ($rows_chunked as $rows)
{
?><tr><?php
foreach ($rows as $row)
{
?><td><?php echo $row['Fac_ID'] ?></td><?php
}
echo str_repeat('<td></td>', 3 - count($rows));
?></tr><?php
}
?>
</table>

TA貢獻1829條經(jīng)驗 獲得超7個贊
如果您的數(shù)據(jù)不會自然地填滿表格的所有單元格,您應(yīng)該質(zhì)疑表格是否是顯示它的正確方式。
CSS 可以稍微調(diào)整一下就可以顯示出來,而不必擔心將結(jié)果拆分成行;運行純 html 表示的示例:
.lined {
border-top-style: dashed;
border-bottom-style: dashed;
margin-top: -3px;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<div class="row">
<div class="col-sm-3">Page Column 1</div>
<div class="col-sm-3">Page Column 2</div>
<div class="col-sm-3">Page Column 3</div>
<div class="col-sm-3">Page Column 4</div>
</div>
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-3">
<div class="row">
<div class="col-sm-4 lined">1</div>
<div class="col-sm-4 lined">2</div>
<div class="col-sm-4 lined">3</div>
<div class="col-sm-4 lined">4</div>
<div class="col-sm-4 lined">5</div>
<div class="col-sm-4 lined">6</div>
<div class="col-sm-4 lined">7</div>
<div class="col-sm-4 lined">8</div>
</div>
</div>
<div class="col-sm-3"></div>
<div class="col-sm-3"></div>
</div>
您需要做的就是將您的數(shù)據(jù)合并到 html 中:
<?php
$sql = "SELECT * FROM factory ORDER BY Fac_ID ASC";
if(!$result = mysqli_query($link, $sql)){ echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); }
$rows = array();
while($row = mysqli_fetch_array($result)){
$rows[] = $row;
}
mysqli_free_result($result);
?>
<div class="row">
<div class="col-sm-3">Page Column 1</div>
<div class="col-sm-3">Page Column 2</div>
<div class="col-sm-3">Page Column 3</div>
<div class="col-sm-3">Page Column 4</div>
</div>
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-3">
<div class="row">
<?php foreach($rows as $r): ?>
<div class="col-sm-4 lined"><?= $r['Fac_ID'] ?></div>
<?php endforeach; ?>
<?php if(sizeof($rows) == 0): ?>
<p class='lead'><em>No records were found.</em></p>
<?php endif; ?>
</div>
</div>
<div class="col-sm-3"></div>
<div class="col-sm-3"></div>
</div>
- 2 回答
- 0 關(guān)注
- 170 瀏覽
添加回答
舉報