Từng bước học lập trình php căn bản qua dự án website giới thiệu sản phẩm – Trang thêm mới danh mục sản phẩm

Nội dung kiến thức phần này gồm:

– Hàm PHP (unset).
– SQL (INSERT).

Trong thư mục admin/category, tạo mới file add.php để viết mã lệnh trang thêm mới danh mục sản phẩm.

Nội dung file admin/category/add.php như sau:

<?php
//Khởi động session
session_start();

//Kiểm tra nếu chưa đăng nhập thì quay về trang đăng nhập
if(!isset($_SESSION[‘user’])){
header(‘location:../user/login.php’);
}

//Require các file cần thiết
require ‘../../configs/config.php’;
require ‘../../libraries/connect.php’;
require ‘../../models/category.php’;

//Nếu có POST dữ liệu lên thì xử lý
if($_POST){
//Nhận dữ liệu từ form và gán vào một mãng
$data = array(
‘name’ => $_POST[‘name’],
‘status’ => isset($_POST[‘status’]) ? 1 : 0,
‘created’ => date(‘Y-m-d H:i:s’),
‘modified’ => date(‘Y-m-d H:i:s’)
);

//Thêm mới
if(add_category($data)){
//Tạo session để lưu cờ thông báo thành công
$_SESSION[‘success’] = true;

//Tải lại trang (Mục đích là để reset form)
header(‘location:add.php’);
}
}

//Require file giao diện (View)
require ‘../../views/admin/category/add.tpl.php’;
?>

Mở file models/category.php và thêm vào khối lệnh mới dưới đây:

function add_category($data){
//SQL
$sql = “INSERT INTO tbl_category(name, status, created, modified) VALUES(‘{$data[‘name’]}’, {$data[‘status’]}, ‘{$data[‘created’]}’, ‘{$data[‘modified’]}’)”;

//Query và return
return mysql_query($sql);
}

Trong thư mục views/admin/category, tạo mới file add.tpl.php để trình bày giao diện trang thêm mới danh mục sản phẩm.

Nội dung file views/admin/category/add.tpl.php như sau:

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Quản trị – Danh mục sản phẩm – Thêm mới</title>
</head>
<body>

<form name=”add” method=”POST” action=””>
<?php if(isset($_SESSION[‘success’])): ?>
<p style=”color:green;”>Danh mục sản phẩm đã được thêm mới thành công!</p>
<?php unset($_SESSION[‘success’]); ?>
<?php endif; ?>

<p>
<label>Tên danh mục:</label>
<input type=”text” name=”name” value=”” />
</p>
<p>
<label>Trạng thái:</label>
<input type=”checkbox” name=”status” value=”1″ />
</p>
<p>
<input type=”submit” value=”Thêm mới” />
</p>
</form>

</body>
</html>

Các bạn truy cập trang thêm mới danh mục sản phẩm theo địa chỉ http://localhost/admin/category/add.php để kiểm tra.

* Hàm PHP (unset):

Hàm unset dùng để hủy bỏ một biến (Hoặc một phần tử của mãng) đã tồn tại.

Ví dụ:

unset($a);
unset($_SESSION[‘success’]);

Các bạn có thể tìm hiểu thêm về hàm unset ở liên kết http://php.net/manual/en/function.unset.php.

* SQL (INSERT):

Để thêm mới một dòng (Hoặc nhiều dòng) dữ liệu vào một bảng dữ liệu trong DB các bạn sử dụng câu lệnh INSERT INTO để thực hiện.

Cú pháp câu lệnh INSERT như sau:

INSERT INTO Bảng_dữ_liệu(Trường_1, Trường_2, Trường_n) VALUES(Giá_trị_1, Giá_trị_2, Giá_trị_n)

Hoặc

INSERT INTO Bảng_dữ_liệu(Trường_1, Trường_2, Trường_n) VALUES(Giá_trị_dòng_1_1, Giá_trị_dòng_1_2, Giá_trị_dòng_1_n), (Giá_trị_dòng_2_1, Giá_trị_dòng_2_2, Giá_trị_dòng_2_n)

Trong đó:

– Cú pháp thứ nhất dùng để thêm mới một dòng dữ liệu vào bảng dữ liệu.
– Cú pháp thứ hai dùng để thêm mới hai (Tương tự cho nhiều) dòng dữ liệu vào bảng dữ liệu.

Ví dụ:

INSERT INTO tbl_category(name, status, created, modified) VALUES(‘Sony’, 1, ‘2014-10-08 08:09:10’, ‘2014-10-08 08:09:10’)

Các bạn lưu ý là thứ tự giá trị khai báo phải tương ứng với thứ tự khai báo của các trường dữ liệu.

Trong SQL thì chuỗi cũng được đặt trong dấu nhấy đơn.

Các bạn có thể tìm hiểu thêm về cú pháp INSERT ở liên kết http://dev.mysql.com/doc/refman/5.0/en/insert.html.

Tác giả: Lê Trung Hiếu

Viết một bình luận