Đây là một phần không thể thiếu trong bất cứ một ứng dụng web nào. Một website đương nhiên sẽ phải có dữ liệu. Trong bài viết này tôi sẽ hướng dẫn các bạn cách để xuất dữ liệu trong PHP.
Để xuất dữ liệu trong PHP chúng ta sẽ sử dụng câu lệnh SELECT trong sql để lấy dữ liệu cần thiết:
1 |
SELECT column_name(s) FROM table_name |
Ở trên column_name(s) là các column mà bạn muốn lấy dữ liệu, hoặc bạn cũng có thể sử dụng dấu * để lấy tất cả các column trong bảng:
1 |
SELECT * FROM table_name |
Xuất dữ liệu trong PHP
Tất nhiên trước khi xuất dữ liệu chúng ta cần kết nối đến database và sau đó thì viết câu truy vấn và thực thi thôi:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "<table><tr><th>ID</th><th>Name</th></tr>"; // output data of each row while($row = $result->fetch_assoc()) { echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>"; } echo "</table>"; } else { echo "0 results"; } $conn->close(); ?> |
Câu lệnh where trong Mysql
Ở trên chúng ta lấy toàn bộ dữ liệu của một bảng, đôi khi chúng ta chỉ muốn lấy dữ liệu theo một điều kiện cụ thể thì sẽ như thế nào. Ví dụ trong một bảng lưu các bài viết, mình chỉ muốn lấy các bài viết có trạng thái là public thôi, để làm được điều này thì chúng ta cần phải sử dụng WHERE
1 |
SELECT column_name(s) FROM table_name WHERE column_name operator value |
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests WHERE lastname='Doe'"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "<table><tr><th>ID</th><th>Name</th></tr>"; // output data of each row while($row = $result->fetch_assoc()) { echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>"; } echo "</table>"; } else { echo "0 results"; } $conn->close(); ?> |
Sử dụng LIMIT để giới hạn kết quả trả về
LIMIT được sử dụng để giới hạn kết quả trả về trong trường hợp database của bạn có quá nhiều dữ liệu. Nếu show ra hết thì sẽ mất nhiều thời gian thực thi, do đó chúng ta thường sẽ giới hạn dữ liệu trả về và xây dựng chức năng phân trang để hiển thị dữ liệu.
1 2 |
//Lấy 30 record $sql = "SELECT * FROM Orders LIMIT 30"; |
1 2 |
// Lấy 10 record, và bắt đầu từ record thứ 16 $sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15"; |
Xuất dữ liệu trong PHP và Sắp xếp với ORDER BY
Hàm này rất hữu ích dùng để sắp thứ tự các bản ghi khi chúng ta xuất dữ liệu.
1 |
SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC |
ORDER BY column_name(s) ASC|DESC :
Trong đó:
- column_name(s): các column mà bạn muốn sắp xếp
- ASC sắp xếp theo thứ tự tăng dần
- DESC sắp xếp theo thứ tự giảm dần
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { // output data of each row while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 results"; } mysqli_close($conn); ?> |
Nếu bạn không xác định ASC hay DESC thì mặc định chúng sẽ sắp xếp tăng dần.
Kết luận
Trong bài viết này tôi đã hướng dẫn các bạn cách để xuất dữ liệu trong PHP. Ở bài viết tiếp theo chúng ta sẽ tiếp tục tìm hiểu về cách để update dữ liệu trong PHP.