PHP có phải là hệ quản trị cơ sở dữ liệu không?

Nhận toàn quyền truy cập vào Lập trình PHP, Phiên bản thứ 3 và hơn 60 nghìn đầu sách khác, với bản dùng thử miễn phí 10 ngày của O'Reilly

Ngoài ra còn có các sự kiện trực tuyến trực tiếp, nội dung tương tác, tài liệu chuẩn bị chứng nhận, v.v.

Chúng ta sẽ tìm hiểu cách xây dựng một hệ thống quản trị nội dung cơ sở dữ liệu một trang, đầy đủ chức năng bằng cách sử dụng phpGrid và các thành phần PHP khác với số lượng mã tối thiểu. Ứng dụng sẽ thực hiện các thao tác dữ liệu phổ biến như Tạo, Đọc, Cập nhật, Xóa, hay còn gọi là CRUD trên các bảng cơ sở dữ liệu MySQL

Lưu ý ứng dụng demo yêu cầu phiên bản phpGrid 7 trở lên. Bản demo sử dụng MySQL, tuy nhiên, cùng một mã cơ bản sẽ hoạt động với các cơ sở dữ liệu khác với việc sử dụng một lược đồ SQL khác CHỌN câu lệnh

Thiết kế

Ứng dụng của chúng ta sẽ có một danh sách các lược đồ và bảng cơ sở dữ liệu ở phía bên trái – thanh bên – và một bảng cơ sở dữ liệu trên màn hình chính – màn hình chính. Cả thanh bên và thanh chính đều là lưới dữ liệu. Trên lưới dữ liệu chính chứa bảng cơ sở dữ liệu, chúng tôi cũng sẽ thêm thanh tìm kiếm để người dùng có thể tìm kiếm trong lưới được hiển thị

Mô hình thiết kế của chúng tôi

Bố cục 2 cột

Hãy bắt đầu bằng cách tạo bố cục. Những gì chúng ta cần là một thanh bên có chiều rộng cố định ở bên trái trong khi thanh chính - một lưới - vẫn "linh hoạt" để nó lấp đầy chiều rộng tài liệu còn lại. Lưới chính sẽ được điền dữ liệu từ bảng cơ sở dữ liệu được chọn từ thanh bên trái

May mắn thay, CSSPortal có một công cụ bố cục tuyệt vời giúp dễ dàng tạo bố cục dựa trên cột chỉ với điểm và nhấp chuột

http. //www. cssportal. com/trình tạo bố cục/

Một cách khác là tải xuống bản soạn sẵn này [Tệp -> Lưu dưới dạng] chứa tất cả mã HTML và CSS cần thiết cho ứng dụng demo này

Cài đặt

Hãy bắt đầu mã hóa. Có lẽ bạn đã cài đặt phpGrid trên máy chủ web của mình. Nếu không, hãy làm theo hướng dẫn này để tìm hiểu cách thực hiện – http. //phpgrid. com/tài liệu/cài đặt/

Đầu tiên, thêm các dòng sau vào TOP của trang của chúng tôi

1
2

sử dụng phpGrid\C_DataGrid ;
require_once["phpGrid/conf. php"];

Dòng đầu tiên thêm không gian tên phpGrid để PHP biết tìm phpGrid ở đâu trong hệ thống. Nếu không, PHP sẽ đưa ra một lỗi khó chịu – “Fatal error. Không tìm thấy lớp 'C_DataGrid'"

Dòng thứ hai tham chiếu phpGrid bằng cách bao gồm conf của nó. php. Hướng dẫn cài đặt – http. //phpgrid. com/documentation/installation/ – giải thích điều này dài hơn

thanh bên

Thanh bên trái chứa danh sách các bảng được tìm thấy trong từng cơ sở dữ liệu tương ứng trong lưới con

Thanh bên – Bước 1

Bước đầu tiên là trả về danh sách các lược đồ hiện tại từ cơ sở dữ liệu đã chọn. Trong MySQL, câu lệnh SQL sau truy xuất danh sách các tên lược đồ

1

CHỌN SCHEMA_NAME TỪ INFORMATION_SCHEMA . SCHEMATA

Mã PHP để trả về danh sách các lược đồ như sau

1
2
3
4

// danh sách lược đồ
$dbs = mới C_DataGrid ["SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA", "SCHEMA_NAME", "INFORMATION_SCHEMA. SCHEMATA"];
$dbs->set_dimension['300px'];
$dbs->set_pagesize[999set_scroll[true];

Cách hoạt động của đoạn mã trên

set_dimension đặt chiều rộng của thanh bên trái thành 300 pixel
set_pagesize đặt chiều cao của trang thành một số rất lớn, e. g. 999. Do đó, tất cả dữ liệu sẽ được hiển thị trên một trang duy nhất. set_scroll xóa các điều khiển phân trang thường thấy ở cuối trang

Thanh bên – Bước 2

Bước thứ hai hiển thị danh sách các bảng cơ sở dữ liệu có sẵn trong mỗi lược đồ trong lưới con

Mã PHP để trả về danh sách các bảng xuất hiện bên dưới

1
2
3
4

// danh sách bảng    $tbl = new C_DataGrid["SELECT TABLE_NAME, TABLE_SCHEMA, TABLE_ROWS FROM INFORMATION_SCHEMA. BẢNG", "TABLE_NAME", "INFORMATION_SCHEMA. NHỮNG CÁI BÀN"];
$tbl->set_col_hidden['TABLE_SCHEMA'];
$tbl->set_pagesize[999set_scroll[true];
$tbl -> set_col_dynalink["TABLE_NAME" . php", "db_admin.php", mảng["TABLE_NAME", "TABLE_SCHEMA"], '', "_top"];

Cách hoạt động của đoạn mã trên

Đầu tiên, chúng tôi ẩn cột TABLE_SCHEMA vì nó dư thừa. Kích thước trang được đặt thành số lớn [999] và cuộn được đặt thành đúng. Cuối cùng và là quan trọng nhất, set_col_dynalink tạo thành một URL động cho mỗi bảng cơ sở dữ liệu được sử dụng để điền vào lưới dữ liệu chính. Bạn có thể tìm hiểu thêm về hàm set_col_dynalink tại đây. http. //phpgrid. com/tài liệu/set_col_dynalink/

Thanh bên – Bước 3

Cuối cùng, đặt lưới con. Lưới con hiển thị lưới chi tiết nội tuyến cho mỗi hàng trong lưới chính. Nếu bạn không quen thuộc với lưới con phpGrid, hãy xem bản demo lưới con trực tuyến – http. //phpgrid. com/ví dụ/lưới con/

1
2

$dbs->set_subgrid[$tblhiển thị[]"máy chủ cục bộ,
"tên người dùng"=>"root",
"mật khẩu"=>"",
"dbname"=>$schemaName,
"dbtype"=>"mysql",
"dbcharset"=>"utf8"]];
$dg->enable_global_search[true hiển thị[]set_caption[strtoupper["$schemaName.$tableName "]];
$dg->enable_autowidth[trueenable_edit[]set_scroll[trueenable_global_search[true

Chủ Đề