亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP/MYSQL:將數據從 MySQL 顯示到 PHP 表

PHP/MYSQL:將數據從 MySQL 顯示到 PHP 表

PHP
函數式編程 2021-11-05 18:36:53
我有一個關于我當前項目的問題要問。從上面的問題,我想顯示數據到我的 PHP 表是這樣的:-------  ------  -------   1       2        3-------  ------  -------   4       5        6      -------  ------  -------   7       8             -------  ------  -------目前,我只有 8 個數據。問題是,<td>盡管數據不存在,但仍然出現 9 號。下面是我目前的代碼。$sql = "SELECT * FROM factory ORDER BY Fac_ID ASC";                if($result = mysqli_query($link, $sql)){                    if(mysqli_num_rows($result) > 0){                        echo "<table class='table table-bordered' bgcolor='#ffffff' width='50%'>";                        $td=0;                            while($row = mysqli_fetch_array($result)){                              if ($td==0){                                echo "<tr>";                               }                              echo "<td>" . $row['Fac_ID'] . "</td>";                              $td++;                              if ($td==3){                                echo "</tr>";                                $td=0;                              }                            }                            echo "</tbody>";                                                    echo "</table>";                        // Free result set                        mysqli_free_result($result);                    } else{                        echo "<p class='lead'><em>No records were found.</em></p>";                    }                } else{                    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);                }如何確保<td>當有現有數據時會出現?
查看完整描述

2 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

關于您的代碼風格的兩個方面的評論:


1) 盡量避免使用echo靜態 HTML 內容 - 禁用 PHP。


2) 嘗試將您的數據庫邏輯與 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>


查看完整回答
反對 回復 2021-11-05
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

如果您的數據不會自然地填滿表格的所有單元格,您應該質疑表格是否是顯示它的正確方式。


CSS 可以稍微調整一下就可以顯示出來,而不必擔心將結果拆分成行;運行純 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>


您需要做的就是將您的數據合并到 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>


查看完整回答
反對 回復 2021-11-05
  • 2 回答
  • 0 關注
  • 180 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號