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

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

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(999)->set_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(999)->set_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($tbl<, 'TABLE_SCHEMA', 'SCHEMA_NAME');
$dbs->hiển thị();

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

Cột chính

Cột chính chứa lưới dữ liệu cho bảng cơ sở dữ liệu. Nhớ lại rằng trong mã để tạo thanh bên, Bước 2, chúng tôi đã sử dụng một hàm có tên là “set_col_dynalink” để đặt một URL động cho mọi tên bảng cơ sở dữ liệu trong chuỗi truy vấn URL. Bây giờ chúng ta cần truy xuất tên lược đồ và tên bảng bằng cách sử dụng đoạn mã sau

1
2

$schemaName = (isset($_GET['TABLE_SCHEMA']) && isset($_GET['TABLE_SCHEMA']) !== '') ? . $_GET['TABLE_SCHEMA'] : 'sampledb';
$tableName = (isset($_GET['TABLE_NAME']) && isset($_GET['TABLE_NAME']) !== '') ? . $_GET['TABLE_NAME'] : 'đơn đặt hàng';

Dòng mã đầu tiên lấy tên lược đồ và dòng thứ hai lấy tên bảng. Không có gì đặc biệt về điều này ngoại trừ việc chúng tôi đặt giá trị mặc định cho từng biến để sử dụng trong trường hợp thiếu tham số – chẳng hạn như khi trang được tải lần đầu

Dưới đây là mã cho lưới chính

1
2
3
4
5
6
7
8
9

$dg = mới C_DataGrid ("SELECT * FROM $tableName",'orderNumber', "$tableName",
mảng("tên máy chủ"=>"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);
$dg -> hiển thị();

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

Dòng đầu tiên sử dụng tính năng tham chiếu nhiều cơ sở dữ liệu của phpGrid. Điều này rất cần thiết vì chúng ta cần tham khảo các bảng khác nhau được tìm thấy trong các cơ sở dữ liệu khác nhau. xem http. //phpgrid. com/example/multiple-databases-support/ để biết thêm thông tin về cách phpGrid có thể được định cấu hình để hoạt động với nhiều cơ sở dữ liệu

Lưu ý rằng điều quan trọng là sử dụng đúng khóa chính tương ứng khi tham chiếu bảng cơ sở dữ liệu mặc định. Trong trường hợp này, chúng ta đang tham chiếu đến bảng “orders” với khóa chính là “orderNumber”

enable_global_search thêm thanh tìm kiếm toàn cầu vào đầu lưới. Cuối cùng, dòng cuối cùng hiển thị datagrid của chúng tôi

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

Thats tất cả để có nó. Bây giờ bạn có bảng điều khiển quản lý nội dung cơ sở dữ liệu dựa trên web sử dụng ít hơn 15 dòng mã

Nhưng xin chờ chút nữa

Chúng ta có thể tăng cường lưới và tận dụng lợi thế của thiết kế bố cục linh hoạt bằng cách thêm một vài dòng mã

Đầu tiên, chúng tôi thêm chú thích để hiển thị lược đồ và tên bảng hiện tại. Sau đó, chúng tôi đặt chiều rộng tự động, bật chỉnh sửa rồi thêm tìm kiếm toàn cầu lên trên cùng

1
2
3
4
5

$dg->set_caption(strtoupper("$schemaName.$tableName "));
$dg->enable_autowidth(true);
$dg->enable_edit();
$dg->set_scroll(true);
$dg->enable_global_search(true);

Cuối cùng, trước khi tiếp tục, hãy thêm sự kiện javascript sau để đảm bảo rằng lưới sẽ chỉ thay đổi kích thước trong vùng chứa của nó chứ không phải trong chính cửa sổ trình duyệt

PHP có dùng được cho hệ quản trị cơ sở dữ liệu không?

Với PHP, bạn có thể kết nối và thao tác với cơ sở dữ liệu . MySQL là hệ thống cơ sở dữ liệu phổ biến nhất được sử dụng với PHP.

Ý nghĩa của DBMS trong PHP là gì?

Hệ thống quản lý cơ sở dữ liệu (DBMS) là ứng dụng phần mềm được sử dụng để tạo, truy cập, duy trì và quản lý cơ sở dữ liệu . Chúng tôi có thể cài đặt nó giống như bất kỳ ứng dụng nào khác và sử dụng SQL cho tất cả các hoạt động mà chúng tôi định thực hiện trên cơ sở dữ liệu.

PHP và SQL có giống nhau không?

PHP là ngôn ngữ kịch bản phổ biến nhất để phát triển web. Nó miễn phí, mã nguồn mở và phía máy chủ (mã được thực thi trên máy chủ). MySQL là Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL) . Nó cũng miễn phí và mã nguồn mở.

4 loại hệ quản trị cơ sở dữ liệu là gì?

Các loại DBMS khác nhau là gì? .
Cơ sở dữ liệu quan hệ
Cơ sở dữ liệu hướng đối tượng
cơ sở dữ liệu phân cấp
cơ sở dữ liệu mạng