@PhanNhuHuyen thông thường phần cập nhật số lượng sản phẩm này sẽ gửi qua ajax và bạn cần viết code bên javascript để xử lý việc lấy ra id và số lượng sản phẩm muốn cập nhật. về Id thì khi trả về giao diện bạn có thể gán nó vào cái button cộng kia luôn như sau:
Trên là session và giỏ hàng (2 sp) của mình.giờ mình muốn thây đổi số lượng sp (1 trong 2 sp hoặc cả 2 sp),thì làm sao mình lấy đc id sp mà mình thay đổi số lượng và update số lượng đã thay đổi ntn ạ
@PhanNhuHuyen Bạn có thể dùng ajax. Đầu tiên bạn đặt 1 attribute cho thẻ của bạn. Chẳng hạn như thẻ <tr productId='id san pham o day'>. Sau đó bạn get attribute để lấy được id đó. Mỗi lần click + hoặc - kia bạn đồng thời gửi request lên, và gửi kèm theo cái id bạn lấy được. Còn tất cả dữ liệu của bạn chỉ được lưu khi bạn click vào nút cập nhập giỏ hàng hay gì đó thì mỗi lần update chắc bạn sẽ phải ghi đè lại toàn bộ dữ liệu
@PhanNhuHuyen Giờ bạn lấy session đó về. Rồi dùng mấy hàm xử lý mảng update những thứ cần thiết rồi bạn lại update cái data mới kia vào session kia. Còn bạn có thể nói rõ là bạn đang vướng mắc ở đoạn nào không. Ví dụ như là không biết làm thế nào để sửa dữ liệu trong mảng chẳng hạn
@PhanNhuHuyen thì như trên đó bạn, khi người ta click update 1 mặt hàng, bạn cần lấy ID của mặt hàng đó, tìm trong mảng session, tìm được rồi thì bạn cộng số lượng theo như key ở trên lên 1, rồi gán lại vào function session()
còn tổng số mặt hàng đang có trong giỏi thì bạn cũng làm tương tự, lấy toàn bộ session giỏ hàng ra, dùng vòng foreach cộng tất cả số lượng lại
Trong trường hợp update giỏ hàng thì bạn chỉ cần cập nhật lại là:
session()->put("cart.product-$productId.quantity",session()->get("cart.product-$productId.quantity")+1,// bạn có thể thay 1 bằng số lượng công thêm mong muốn);
Với $productId sẽ là ID tương ứng của product của bạn
@quocdungabc thêm chia sẻ. thực sự bạn nên nghĩ với thế mạnh kia bạn nên theo design hay cảm thấy mình muốn theo dev? vì mình từng có thời gian làm newbie mark-up dev chỉ chuyên cắt html/css và cảm thấy bị tù túng bởi việc không khó nhưng cảm giác như không phải đúng tay thuận của mình. và có vài lý do nữa nên sau đó mình chuyển sang dự án khác và làm PHP(lúc này làm PHP là làm được rồi, dù không hiểu gì)
cho mình hỏi , là trong phần bài tập ấy , có cái ngày sản xuất và hạn sử dụng , mình nghĩ nên tách ra làm 1 bảng nữa là bảng nhập thuốc NHAPTHUOC(MANHAP(PK),MATHUOC,NGAYNHAP,NGAYSX,HSD) thì sẽ hopwk lý hơn không vì nếu như trong kho vẫn còn thuốc đó mà nhập thuốc mới thì sẽ ko đúng ?
Mình thấy cái BEM với SCSS dùng & là 1 điểm cộng lớn, mình viết scss rất hay đùng nó. Tiếc là bên stylus lại không có và phải thêm nib thì mới dùng được
THẢO LUẬN
@PhanNhuHuyen thông thường phần cập nhật số lượng sản phẩm này sẽ gửi qua ajax và bạn cần viết code bên javascript để xử lý việc lấy ra id và số lượng sản phẩm muốn cập nhật. về Id thì khi trả về giao diện bạn có thể gán nó vào cái button cộng kia luôn như sau:
Sau đó bên javascript giả sử bạn dùng jquery thì có thể viết:
@PhanNhuHuyen ok bạn. Có gì không hiểu bạn cứ hỏi. Mọi người trên này sẽ giúp đỡ bạn
hi,mình cảm ơn.để mình làm thử xem dc ko ajax mình khá yếu
(like) https://viblo.asia/p/dong-trinh-duyet-session-mat-hieu-the-nao-cho-dung-07LKXBXrlV4#_quay-lai-van-de-4 chắc đọc phần này thôi bác nhỉ
@PhanNhuHuyen Bạn có thể dùng ajax. Đầu tiên bạn đặt 1 attribute cho thẻ của bạn. Chẳng hạn như thẻ <tr productId='id san pham o day'>. Sau đó bạn get attribute để lấy được id đó. Mỗi lần click + hoặc - kia bạn đồng thời gửi request lên, và gửi kèm theo cái id bạn lấy được. Còn tất cả dữ liệu của bạn chỉ được lưu khi bạn click vào nút cập nhập giỏ hàng hay gì đó thì mỗi lần update chắc bạn sẽ phải ghi đè lại toàn bộ dữ liệu
Đọc lướt qua là hiểu, ai biểu đọc kỹ quá chi không hiểu. Bài này đọc 1 phút
)
@PhanNhuHuyen Giờ bạn lấy session đó về. Rồi dùng mấy hàm xử lý mảng update những thứ cần thiết rồi bạn lại update cái data mới kia vào session kia. Còn bạn có thể nói rõ là bạn đang vướng mắc ở đoạn nào không. Ví dụ như là không biết làm thế nào để sửa dữ liệu trong mảng chẳng hạn
@PhanNhuHuyen thì như trên đó bạn, khi người ta click update 1 mặt hàng, bạn cần lấy ID của mặt hàng đó, tìm trong mảng session, tìm được rồi thì bạn cộng số lượng theo như key ở trên lên 1, rồi gán lại vào function
session()còn tổng số mặt hàng đang có trong giỏi thì bạn cũng làm tương tự, lấy toàn bộ session giỏ hàng ra, dùng vòng foreach cộng tất cả số lượng lại@PhanNhuHuyen vậy thì bạn chỉ cần tạo 1 cái session có dạng như này mỗi khi người ta thêm mới một sản phẩm vào giỏ hàng:
Trong trường hợp update giỏ hàng thì bạn chỉ cần cập nhật lại là:
Với $productId sẽ là ID tương ứng của product của bạn
cái mình cần giải quyết là update đó bạn, vẫn chưa update đc
mình đã lưu đc các mặt hàng trong session rồi a, vấn đề ở đây là lưu số lượng trong session ta đã thay đổi ạ
đúng rồi ạ. mặc định sẽ là 1 và nếu thêm ( + ) 1 nữa thì sẽ giữ số lượng = 2 ạ
@quocdungabc thêm chia sẻ. thực sự bạn nên nghĩ với thế mạnh kia bạn nên theo design hay cảm thấy mình muốn theo dev? vì mình từng có thời gian làm newbie mark-up dev chỉ chuyên cắt html/css và cảm thấy bị tù túng bởi việc không khó nhưng cảm giác như không phải đúng tay thuận của mình. và có vài lý do nữa nên sau đó mình chuyển sang dự án khác và làm PHP(lúc này làm PHP là làm được rồi, dù không hiểu gì)
bác có source code github không e xin với
Sớm ra bác ơi, quá hay luôn
), 1 người cũng hay làm về js nhưng bài viết của bác rất hữu ích 
cho mình hỏi , là trong phần bài tập ấy , có cái ngày sản xuất và hạn sử dụng , mình nghĩ nên tách ra làm 1 bảng nữa là bảng nhập thuốc NHAPTHUOC(MANHAP(PK),MATHUOC,NGAYNHAP,NGAYSX,HSD) thì sẽ hopwk lý hơn không vì nếu như trong kho vẫn còn thuốc đó mà nhập thuốc mới thì sẽ ko đúng ?
Mình thấy cái BEM với SCSS dùng & là 1 điểm cộng lớn, mình viết scss rất hay đùng nó. Tiếc là bên stylus lại không có và phải thêm nib thì mới dùng được
A ơi a có source code không ạ?