在現代的生活中,記賬是一個非常方便且必要的行為。而利用 PHP 和 SQLite 來記錄我們的日常開銷和收入,是一個簡單又實用的方法。如果你正在尋找一個輕量級的數據庫系統來記錄你的個人或業務數據,那么 SQLite 是非常適合的選擇。
在使用 PHP 和 SQLite 來進行記賬時,我們需要首先創建數據庫和數據表。這可以在 PHP 中使用 SQLite 擴展來完成。下面是一個簡單的代碼示例,演示如何創建一個名為 expenses 的 SQLite 數據庫,并新增一個名為 users 的數據表:
<?php // 創建 SQLite3 數據庫和數據表 $db = new SQLite3('expenses.db'); $db->query('CREATE TABLE users( id INTEGER PRIMARY KEY AUTOINCREMENT, name CHAR(50) NOT NULL, email CHAR(100) NOT NULL, password CHAR(50) NOT NULL )'); ?>
上面的代碼中,首先創建了一個名為 expenses 的 SQLite3 數據庫,隨后使用 query 方法來創建名為 users 的數據表。其中,id 是自增主鍵,name 代表用戶的姓名,email 是其電子郵件地址,password 代表用戶賬號的密碼。
接下來,我們可以使用以下代碼來插入新用戶:
<?php // 向 users 數據表中插入新用戶 $db->query("INSERT INTO users(name,email,password) VALUES('張三','zhangsan@email.com','123')"); ?>
以上代碼會向 users 數據表中插入一個新的用戶記錄。其中,用戶的名稱為 “張三”,其電子郵件地址為 “zhangsan@email.com”,賬號密碼為 “123”。
接下來,我們可以使用以下代碼來查詢 users 數據表并輸出記錄:
<?php // 查詢 users 數據表并輸出記錄 $results = $db->query('SELECT * FROM users'); while ($row = $results->fetchArray()) { echo "ID: " . $row['id'] . "<br>"; echo "Name: " . $row['name'] . "<br>"; echo "Email: " . $row['email'] . "<br>"; echo "Password: " . $row['password'] . "<br>"; echo "--------------------------<br>"; } ?>
上面的代碼中,使用 SELECT 語句查詢 users 數據表,然后使用 while 循環來逐行輸出記錄的各個字段。這個過程非常簡單,但卻是記賬功能的重要基礎。
當然,在實際應用中,我們需要記錄的數據很可能不止這些。我們可能需要記錄每筆開銷的日期、詳情、金額和類別等信息。這時,我們可以按照以下的方式來創建新的數據表:
<?php // 創建新的 expenses 數據表 $db->query('CREATE TABLE expenses( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL, date CHAR(50) NOT NULL, amount FLOAT NOT NULL, description CHAR(255) NOT NULL, category CHAR(50) NOT NULL )'); ?>
上面的代碼中,定義了一個名為 expenses 的數據表,此表包含了 id、user_id、date、amount、description 和 category 共計六個字段。分別代表記錄編號、用戶編號、記賬日期、金額、詳情及所屬類別。
當我們需要插入一筆新的開銷記錄時,可以使用以下代碼:
<?php // 向 expenses 數據表中插入新的開銷記錄 $db->query("INSERT INTO expenses(user_id, date, amount, description, category) VALUES(1, '2021-01-02', 50.25, '午餐費用', '餐費')"); ?>
以上代碼可以很方便地新增一筆記賬記錄,其中 user_id 是用戶表中的編號,date 代表開銷日期,amount 為開銷的金額,description 為開銷詳情,category 為開銷類別。
當然,我們還需要一種將所有開銷記錄一起顯示在頁面上的方法。我們可以按以下方式查詢數據表,并通過 HTML 表格來展示記錄:
<?php // 顯示所有開銷記錄 $results = $db->query('SELECT * FROM expenses WHERE user_id = 1 ORDER BY date'); echo '<table><tr><th>日期</th><th>金額</th><th>詳情</th></tr>'; while ($row = $results->fetchArray()) { echo "<tr><td>" . $row['date'] . "</td><td>" . $row['amount'] . "</td><td>" . $row['description'] . "</td></tr>"; } echo '</table>'; ?>
以上代碼中,使用 SELECT 查詢語句來查詢 expenses 數據表,并按日期字段順序排序。然后,使用 PHP 命令 echo 輸出 HTML 表格中的表頭,緊接著就是通過 while 循環來逐行輸出每條記錄的內容。最終通過 echo 輸出表格的結束標記,進行頁面展示。
綜上所述,利用 PHP 和 SQLite 記錄我們的個人或業務數據,非常簡單又實用。無論是記錄開銷,還是統計數據,都可以通過 SQLite 數據庫輕松完成。在今后的記賬過程中,此技術或許會非常有用。