[PHP&MYSQL]-2.讀取資料表

  • 573
  • 0
  • php
  • 2023-02-11

文、意如

<?php
//include '../../my_test_sql/mysql_conn.php'; //連線設定

// 載入mysql_conn.php來連結資料庫
//require_once '../../my_test_sql/mysql_conn.php';


$servername = "localhost";//伺服器ip或本地端localhost
$username = "yiru"; //登入帳號
$password = "123456"; //密碼
$dbname = "yiru"; //資料表名稱

//建立連線
$conn = new mysqli($servername, $username, $password, $dbname);

//確認連線成功或失敗
if ($conn->connect_error) {
  die("連線失敗" . $conn->connect_error);
}
echo "連線成功";

// 設置一個空陣列來放資料
$datas = array();

$sql = "SELECT * FROM staff_info";// sql語法存在變數中

$result = mysqli_query($conn,$sql);// 用mysqli_query方法執行(sql語法)將結果存在變數中

// 如果有資料
if ($result) {
    // mysqli_num_rows方法可以回傳我們結果總共有幾筆資料
    if (mysqli_num_rows($result)>0) {
        // 取得大於0代表有資料
        // while迴圈會根據資料數量,決定跑的次數
        // mysqli_fetch_assoc方法可取得一筆值
        while ($row = mysqli_fetch_assoc($result)) {
            // 每跑一次迴圈就抓一筆值,最後放進data陣列中
            $datas[] = $row;
        }
    }
    // 釋放資料庫查到的記憶體
    mysqli_free_result($result);
}
else {
    echo "{$sql} 語法執行失敗,錯誤訊息: " . mysqli_error($link);
}
// 處理完後印出資料
if(!empty($result)){
    // 如果結果不為空,就利用print_r方法印出資料
    print_r($datas);
}
else {
    // 為空表示沒資料
    echo "查無資料";
}
echo "<br><br>";
echo $datas[0]['sf_name'];// 印出第0筆資料中的sf_name欄位值

//使用表格排版用while印出
$datas_len=count($datas);//目前資料筆數
echo $datas_len."筆";
echo "<table border='1' width='80%' align='center'><tr><td>流水號</td><td>姓名</td><td>帳號</td><td>建立時間</td></tr>";
for($i=0;$i<$datas_len;$i++){
    echo "<tr>";
    echo "<td>".($i+1)."</td>";
    echo "<td>".$datas[$i]['sf_name']."</td>";
    echo "<td>".$datas[$i]['sf_account']."</td>";
    echo "<td>".$datas[$i]['create_time']."</td>";
}

echo "</tr></table>";
?>

TESTPAGE!

套用bootstrap裝飾一下:

完整程式碼:
<?php
include 'header.php'; //引入表頭
?>
<html>

<head>
    <title>最新消息</title>
    <style>
        html,
        body {
            height: 100%;
            /*外層高度100%*/
            margin: 0;
        }

        .wrapper {
            min-height: 100%;
            /*外層高度100%*/
            margin-bottom: -50px;
            /*隨footer高度需做調整*/
        }

        .content {
            padding-bottom: 50px;
            /*避免文字超出瀏覽器時,內容區塊不會和footer打架*/
        }
    </style>
</head>
<?php
$servername = "localhost"; //伺服器ip或本地端localhost
$username = "yiru"; //登入帳號
$password = "123456"; //密碼
$dbname = "yiru"; //資料表名稱

//建立連線
$conn = new mysqli($servername, $username, $password, $dbname);

//確認連線成功或失敗
if ($conn->connect_error) {
    die("連線失敗" . $conn->connect_error);
}
//echo "連線成功";

// 設置一個空陣列來放資料
$datas = array();

$sql = "SELECT * FROM staff_info"; // sql語法存在變數中

$result = mysqli_query($conn, $sql); // 用mysqli_query方法執行(sql語法)將結果存在變數中

// 如果有資料
if ($result) {
    // mysqli_num_rows方法可以回傳我們結果總共有幾筆資料
    if (mysqli_num_rows($result) > 0) {
        // 取得大於0代表有資料
        // while迴圈會根據資料數量,決定跑的次數
        // mysqli_fetch_assoc方法可取得一筆值
        while ($row = mysqli_fetch_assoc($result)) {
            // 每跑一次迴圈就抓一筆值,最後放進data陣列中
            $datas[] = $row;
        }
    }
    // 釋放資料庫查到的記憶體
    mysqli_free_result($result);
} else {
    echo "{$sql} 語法執行失敗,錯誤訊息: " . mysqli_error($link);
}
// 處理完後印出資料
if (!empty($result)) {
    // 如果結果不為空,就利用print_r方法印出資料
    //print_r($datas);
} else {
    // 為空表示沒資料
    echo "查無資料";
}
echo "<br><br>";
//echo $datas[0]['sf_name']; // 印出第0筆資料中的sf_name欄位值

//使用表格排版用while印出
$datas_len = count($datas); //目前資料筆數

?>
<body>
    <div style="text-align:center;width:100%;height:50px;">
         <div style="width:70%;height:20px;margin:0 auto;">
        <h1 class="margin_top50">清單</h1>
        <div class="text-left">
            <button class='btn btn-info btn' onclick="edit_page()">新增</a>
        </div>
            <table class="table table-hover margin_top50" id="list_table">
                <thead>
                    <tr>
                        <th>序號</th>
                        <th>姓名</th>
                        <th>帳號</th>
                        <th>建立時間</th>
                        <th>建立者</th>
                        <th>更新時間</th>
                        <th>更新者</th>
                        <th>功能</th>
                    </tr>

                </thead>
                <tbody>
                    <tr class="table-danger">
                        <?php
                        for ($i = 0; $i < $datas_len; $i++) {
                            echo "<tr>";
                            echo "<td>" . ($i + 1) . "</td>";
                            echo "<td>" . $datas[$i]['sf_name'] . "</td>";
                            echo "<td>" . $datas[$i]['sf_account'] . "</td>";
                            echo "<td>" . $datas[$i]['create_time'] . "</td>";
                            echo "<td>" . $datas[$i]['create_user'] . "</td>";
                            echo "<td>" . $datas[$i]['update_time'] . "</td>";
                            echo "<td>" . $datas[$i]['update_user'] . "</td>";
                            echo "<td>
                            <button class='btn btn-success'>詳細</button>
                            <button class='btn btn-success'>修改</button>
                            <button class='btn btn-success'>刪除</button>
                            </td>";
                        }
                        ?>
                    </tr>
                </tbody>
            </table>

            <div class="row">
                <div class="mx-auto">
                    <div class="text-center">
                        <ul class="pagination" id="pagination"></ul>
                        共<?php echo $datas_len; ?>筆<br>

                    </div>
                </div>
            </div>
        </div>
    </div>
    </div>
    </div>


</body>

</html>

 

 

 

 

Yiru@Studio - 關於我 - 意如