10/10/2018, 10:43
Cách làm thay đổi phân cấp sản phẩm theo giá 1 cách linh hoạt ?
Mình làm web bán Laptop, ý tưởng của mình thế này :
Tại trang chủ sẽ phân chia Laptop thành 3 loại : Sản phẩm cao cấp ( giá >=30tr), sản phẩm trung cấp (30tr > giá >=15tr) và sản phẩm thông dụng ( giá <15 tr).
Ứng với từng loại sẽ dùng câu lệnh sql để lấy sản phẩm từ CSDL : select * from Laptop where GiaSP>30000000 ( đối với sản phẩm cao cấp & tương tự như vậy với sản phẩm trung cấp, thông dụng).
Như vậy thì ko khó khăn gì rồi, nhưng thầy giáo mình có đặt ra cho mình 1 vấn đề : nếu Administrator muốn thay đổi mức giá của các loại sản phẩm thì có làm được ko ? ( tất nhiên là ko nói đến chuyện chỉnh sửa code rồi) .
Ví dụ : Sản phẩm cao cấp sẽ có giá >40tr ... , nói chung là có thể thay đổi linh hoạt được.
Ở trang Administrator, mình đã thêm list lựa chọn giá để hiển thị trên trang chủ ( trang Administrator & Trang chủ web hoàn toàn độc lập với nhau), Admin có thể chọn giá sản phẩm cao cấp > Giá lựa chọn từ list( đặt tên là Max), giá sản phẩm thông dụng < giá lựa chọn từ list ( đặt tên là Min và giá sản phẩm trung cấp sẽ ở giữa.
Như vậy cậu lệnh Sql sẽ chuyển thành : select * from Laptop where GiaSP>Max ( đối với sản phẩm Cao cấp)
Nhưng vấn đề gặp phải : làm sao để trang chủ có thể nhận được sự thay đổi đó??
Mọi người giúp mình với.
Tại trang chủ sẽ phân chia Laptop thành 3 loại : Sản phẩm cao cấp ( giá >=30tr), sản phẩm trung cấp (30tr > giá >=15tr) và sản phẩm thông dụng ( giá <15 tr).
Ứng với từng loại sẽ dùng câu lệnh sql để lấy sản phẩm từ CSDL : select * from Laptop where GiaSP>30000000 ( đối với sản phẩm cao cấp & tương tự như vậy với sản phẩm trung cấp, thông dụng).
Như vậy thì ko khó khăn gì rồi, nhưng thầy giáo mình có đặt ra cho mình 1 vấn đề : nếu Administrator muốn thay đổi mức giá của các loại sản phẩm thì có làm được ko ? ( tất nhiên là ko nói đến chuyện chỉnh sửa code rồi) .
Ví dụ : Sản phẩm cao cấp sẽ có giá >40tr ... , nói chung là có thể thay đổi linh hoạt được.
Ở trang Administrator, mình đã thêm list lựa chọn giá để hiển thị trên trang chủ ( trang Administrator & Trang chủ web hoàn toàn độc lập với nhau), Admin có thể chọn giá sản phẩm cao cấp > Giá lựa chọn từ list( đặt tên là Max), giá sản phẩm thông dụng < giá lựa chọn từ list ( đặt tên là Min và giá sản phẩm trung cấp sẽ ở giữa.
Như vậy cậu lệnh Sql sẽ chuyển thành : select * from Laptop where GiaSP>Max ( đối với sản phẩm Cao cấp)
Nhưng vấn đề gặp phải : làm sao để trang chủ có thể nhận được sự thay đổi đó??
Mọi người giúp mình với.
Bài liên quan
Còn tạo table thì mình nghĩ việc thay đổi này ko cần thiết phải tạo 1 bảng để lưu trong CSDL, nhưng đây cũng là 1 cách . Cảm ơn bạn nhiều.
$config['med_pri']=....
$config['low_pri']=.....
save cái này lai rùi require vô cai file của mình chắc phải viết thêm cái form nữa để cho người ta input cái giá trị này vào rùi ghi vào cái file đó.
cần thuyduongcd giúp luộn trước giờ tòan database từ hồi học mấy cái open souce cũng ngộ ra được mấy thứ.
Trường hợp bạn muốn save vào file cũng không khó.
Mỗi khi admin thay đổi, lấy giá trị đó lưu vào file theo cấu trúc do mình định sẵn.
Ví dụ đặt tên file là option.cfg:
Các hàm làm việc với file có thể tham khảo tại: http://w3schools.com/php/php_ref_filesystem.asp
Nếu bạn quen làm việc với xml thì có thể cho nó theo cấu trúc xml. Riêng mình tự định ra cấu trúc vẫn thích hơn
@honnhien: Cái bạn nói đó là file cấu hình (thường sử dụng khi các tham số này ít (thậm chí là không) thay đổi, được tạo ra lúc cài đặt và sử dụng về sau). VD như cấu hình DB chẳng hạn. Và file này rất quan trọng, nếu thiếu có thể không hoạt động nên hạn chế thay đổi.
Tạo 1 bảng khoảng giá
table khoang_gia
Field : ID, name, canduoi, cantren
Dữ liệu
1, Thông dụng , 0 ,15
2, Trung cấp , 15 , 30
3, Cao cấp ,30 ,10000
4.....
Trong admin bạn làm tùy chọn thay đổi table này, ngoài trang chủ bạn select các field này ra rồi echo sản phẩm,
Nếu đã làm để sửa được trong admin thì cho vào SQL hay hơn là file cònig
Chỉ việc tạo thêm một trường phân cấp sản phẩm nữa trong bảng là được.
Rồi thì lúc áp giá sản phẩm muốn nó vào phân khúc sản phẩm nào thì chọn cho nó vào phân khúc ấy.
Toàn tự làm khó mình.