Đây là một chức năng đơn giản tôi đã viết để hiển thị dữ liệu bảng mà không cần phải nhập từng tên cột: [Ngoài ra, hãy lưu ý: Vòng lặp lồng nhau]
function display_data[$data] {
$output = '';
foreach[$data as $key => $var] {
$output .= '';
foreach[$var as $k => $v] {
if [$key === 0] {
$output .= '' . $k . ' ';
} else {
$output .= '' . $v . ' ';
}
}
$output .= ' ';
}
$output .= '
';
echo $output;
}
Chức năng cập nhật bên dưới
Chào Jack,
Thiết kế chức năng của bạn là tốt, nhưng chức năng này luôn bỏ lỡ bộ dữ liệu đầu tiên trong mảng. Tôi đã thử nghiệm điều đó.
Chức năng của bạn rất tốt, nhiều người sẽ sử dụng nó, nhưng họ sẽ luôn bỏ lỡ bộ dữ liệu đầu tiên. Đó là lý do tại sao tôi đã viết sửa đổi này.
Bộ dữ liệu bị thiếu kết quả từ điều kiện nếu phím === 0. Nếu phím = 0 chỉ được viết, nhưng không phải là dữ liệu chứa $ khóa 0 quá. Vì vậy, luôn luôn thiếu bộ dữ liệu đầu tiên của mảng.
Bạn có thể tránh điều đó bằng cách di chuyển điều kiện IF trên vòng lặp foreach thứ hai như thế này:
function display_data[$data] {
$output = "";
foreach[$data as $key => $var] {
//$output .= '';
if[$key===0] {
$output .= ' ';
foreach[$var as $col => $val] {
$output .= "" . $col . ' ';
}
$output .= ' ';
foreach[$var as $col => $val] {
$output .= '' . $val . ' ';
}
$output .= '';
}
else {
$output .= '';
foreach[$var as $col => $val] {
$output .= '' . $val . ' ';
}
$output .= ' ';
}
}
$output .= '
';
echo $output;
}
Trân trọng và cảm ơn - Axel Arnold Bangert - Herzogenrath 2016
và một bản cập nhật khác sẽ loại bỏ các khối mã dự phòng làm tổn thương khả năng duy trì của mã.
function display_data[$data] {
$output = '';
foreach[$data as $key => $var] {
$output .= '';
foreach[$var as $k => $v] {
if [$key === 0] {
$output .= '' . $k . ' ';
} else {
$output .= '' . $v . ' ';
}
}
$output .= ' ';
}
$output .= '
';
echo $output;
}
Chọn dữ liệu từ cơ sở dữ liệu MySQL
Câu lệnh CHỌN được sử dụng để chọn dữ liệu từ một hoặc nhiều bảng:
Chọn Cột_Name [S] từ Table_Name
Hoặc chúng ta có thể sử dụng ký tự * để chọn tất cả các cột từ bảng:
Để tìm hiểu thêm về SQL, vui lòng truy cập hướng dẫn SQL của chúng tôi.
Chọn dữ liệu với MySQLI
Ví dụ sau chọn các cột ID, FirstName và LastName từ bảng MyGuests và hiển thị nó trên trang:
Ví dụ [hướng đối tượng mysqli] theo định hướng đối tượng]
// Tạo kết nối $ Conn = new mysqli [$ servername, $ username, $ password, $ dbname]; chết ["Kết nối không thành công:". $ Conn-> Connect_error]; }
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Tạo kết nối $ Conn = new mysqli [$ servername, $ username, $ password, $ dbname]; chết ["Kết nối không thành công:". $ Conn-> Connect_error]; }
$conn = new mysqli[$servername, $username, $password, $dbname];
// Check connection
if [$conn->connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$ sql = "chọn id, firstName, lastName từ myguests"; $ result = $ Conn-> truy vấn [$ sql];
$result = $conn->query[$sql];
if [$ result-> num_rows> 0] {& nbsp; & nbsp; // dữ liệu xuất của mỗi hàng & nbsp; while [$ row = $ result-> fetch_assoc []] {& nbsp; & nbsp; & nbsp; Echo "id:". $ row ["id"]. " - Tên: " . $ row ["FirstName"]. "". $ row ["LastName"]. ""; & nbsp; & nbsp;}} khác {& nbsp; echo "0 kết quả";} $ Conn-> Close []; ?>
// output data of each row
while[$row = $result->fetch_assoc[]] {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close[];
?>
Chạy ví dụ »
Các dòng mã để giải thích từ ví dụ trên:
Đầu tiên, chúng tôi thiết lập một truy vấn SQL chọn các cột ID, FirstName và LastName từ bảng MyGuests. Dòng mã tiếp theo chạy truy vấn và đặt dữ liệu kết quả vào một biến có tên là $ result.
Sau đó, chức năng num_rows[]
kiểm tra xem có nhiều hơn các hàng được trả về không.
Nếu có nhiều hơn các hàng không được trả về, hàm fetch_assoc[]
đặt tất cả các kết quả vào một mảng kết hợp mà chúng ta có thể lặp qua. Vòng lặp while[]
vòng thông qua tập kết quả và xuất dữ liệu từ các cột ID, FirstName và LastName.
Ví dụ sau đây cho thấy giống như ví dụ trên, theo cách thủ tục MySQLI:
Ví dụ [thủ tục MySQLI]
// output data of each row
while[$row = mysqli_fetch_assoc[$result]] {
echo "id: " . $row["id"].
" - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
Chạy ví dụ »
?>
Chạy ví dụ »
Các dòng mã để giải thích từ ví dụ trên:
Ví dụ [hướng đối tượng mysqli] theo định hướng đối tượng]
// Tạo kết nối $ Conn = new mysqli [$ servername, $ username, $ password, $ dbname]; chết ["Kết nối không thành công:". $ Conn-> Connect_error]; }
$servername = "localhost";
$username = "username";
$password
= "password";
$dbname = "myDB";
// Tạo kết nối $ Conn = new mysqli [$ servername, $ username, $ password, $ dbname]; chết ["Kết nối không thành công:". $ Conn-> Connect_error]; }
$conn = new mysqli[$servername, $username, $password, $dbname];
// Check connection
if [$conn->connect_error] {
die["Connection failed: " . $conn->connect_error];
}
$ sql = "chọn id, firstName, lastName từ myguests"; $ result = $ Conn-> truy vấn [$ sql];
$result = $conn->query[$sql];
if [$ result-> num_rows> 0] {& nbsp; & nbsp; // dữ liệu xuất của mỗi hàng & nbsp; while [$ row = $ result-> fetch_assoc []] {& nbsp; & nbsp; & nbsp; Echo "id:". $ row ["id"]. " - Tên: " . $ row ["FirstName"]. "". $ row ["LastName"]. ""; & nbsp; & nbsp;}} khác {& nbsp; echo "0 kết quả";} $ Conn-> Close []; ?>
echo "
".$row["id"]." | ".$row["firstname"]." ".$row["lastname"]." |
} else {
echo "0 results";
}
$conn->close[];
?>
Chạy ví dụ »
Các dòng mã để giải thích từ ví dụ trên:
Đầu tiên, chúng tôi thiết lập một truy vấn SQL chọn các cột ID, FirstName và LastName từ bảng MyGuests. Dòng mã tiếp theo chạy truy vấn và đặt dữ liệu kết quả vào một biến có tên là $ result.
Sau đó, chức năng num_rows[]
kiểm tra xem có nhiều hơn các hàng được trả về không.
Nếu có nhiều hơn các hàng không được trả về, hàm fetch_assoc[]
đặt tất cả các kết quả vào một mảng kết hợp mà chúng ta có thể lặp qua. Vòng lặp while[]
vòng thông qua tập kết quả và xuất dữ liệu từ các cột ID, FirstName và LastName.
// Tạo kết nối $ Conn = new mysqli [$ servername, $ username, $ password, $ dbname]; chết ["Kết nối không thành công:". $ Conn-> Connect_error]; }
echo "
" . parent::current[]. " | ";
?>
Chạy ví dụ »