10/10/2018, 10:10

Mình cần giúp đỡ về form update tình trạng.

Chào các bạn,

Mình đang viết một đoạn code PHP để quản lý các đơn đặt hàng.

Tình trạng mình đang làm là:

1 file form.php bao gồm các form để điền nội dung của một hoá đơn

1 file gui.php thực hiện việc xử lý thông tin từ các form

1 file data.dat dùng để lưu các thông tin đã được xử lý thành công.

1 file quanly.php dùng để quản lý, xem đơn đặt hàng... data lấy từ file data.dat

Em đã làm các bước trên ok cả, có thể xem lại các hoá đơn đã gửi qua file quanly.php.

Ở file quanly.php trình diễn theo từng hoá đơn đặt hàng. Bây giờ mình muốn ở từng hoá đơn đặt hàng có thêm 1 form text box để mình gõ phần tình trạng ( vd: đã xử lý, chưa xử lý, chờ xử lý... ) và khi lưu lại, vd mình đang có 3 đơn đặt hàng. thì mỗi đơn đặt hàng sẽ lấy thông tin tình trạng khác nhau, phân biệt qua mã số hoá đơn đặt hàng tự cấp. ( tức là ở file gui.php khi gửi thông tin xử lý đã ngẫu nhiên cung cấp cho từng hoá đơn gửi một mã số riêng để đễ dễ trình diễn ở file quanly.php ) và sau khi lưu thì phần tình trạng sẽ nằm trong table của hoá đơn đó.

Các bạn hiểu ý mình không ? nếu ai có thể làm được, xin hướng dẫn cụ thể cho em, em cũng còn rất gà trong php .

Xin giúp đỡ. Cảm ơn.
natostr viết 12:17 ngày 10/10/2018
Nếu bạn đã làm được các công đoạn ở trên thì không có lý do gì để bạn lúng túng trong việc thêm vào table của bạn 1 thuộc tính "trạng thái" nữa cả. Bạn có thể xác định chính xác các tất cả các loại trạng thái mà mình muốn có (chưa xử lý, đang xử lý, đã xử lý, ...) và quy nó về số cho tiện --> khỏi phải so sánh chuỗi, và dĩ nhiên là thuộc tính "trạng thái" sẽ là kiểu số, lúc này bạn chỉ việc quy 1 số tương ứng với 1 trạng thái là được, và việc chuyển 1 số thành 1 chuỗi tương ứng sẽ được thực hiện trong code. Làm như thế này thì trong trang quanly.php bạn chỉ cần dùng 1 dropdownlist (1 hộp sổ xuống) để chọn trạng thái là được, đồng thời cũng dễ dàng cho bạn lọc dữ liệu theo trang thái hơn là kiểu tetbox để người dùng tự nhập (dễ sai xót dẫn tới lọc dữ liệu không chính xác).
kangmin_pro viết 12:19 ngày 10/10/2018
Được gửi bởi natostr
Nếu bạn đã làm được các công đoạn ở trên thì không có lý do gì để bạn lúng túng trong việc thêm vào table của bạn 1 thuộc tính "trạng thái" nữa cả. Bạn có thể xác định chính xác các tất cả các loại trạng thái mà mình muốn có (chưa xử lý, đang xử lý, đã xử lý, ...) và quy nó về số cho tiện --> khỏi phải so sánh chuỗi, và dĩ nhiên là thuộc tính "trạng thái" sẽ là kiểu số, lúc này bạn chỉ việc quy 1 số tương ứng với 1 trạng thái là được, và việc chuyển 1 số thành 1 chuỗi tương ứng sẽ được thực hiện trong code. Làm như thế này thì trong trang quanly.php bạn chỉ cần dùng 1 dropdownlist (1 hộp sổ xuống) để chọn trạng thái là được, đồng thời cũng dễ dàng cho bạn lọc dữ liệu theo trang thái hơn là kiểu tetbox để người dùng tự nhập (dễ sai xót dẫn tới lọc dữ liệu không chính xác).

Hi chào bạn, cảm ơn bạn rất nhiều, vẫn đề này mình cũng đã có nghĩ đến và cũng đã thử, nhưng có thể vì mình đã sai một bước nào đó suy ra lỗi.

Khi mình làm một dropdownlist tại trang quản lý, khi save lại nó lại tự động ( quanly.php -> gui.php -> data.dat ) lưu vào file data.dat như một dữ liệu mới ( không edit từ chuỗi tương ứng )

File dat khi chưa save trạng thái:

-------------


Code150310054603175|Ten khach hang|Dia chi|Dien thoai|Email|san pham|tinh trang|192.168.1.27|Đông Á Bank ( EAB )|15-03-10 / 05:46 |0|

--------------

sau khi save trạng thái:

----------
Code150310054603175|Ten khach hang|Dia chi|Dien thoai|Email|san pham|tinh trang|192.168.1.27|Đông Á Bank ( EAB )|15-03-10 / 05:46 |0|
Code1503100743552654|Đã xử lý| 15-03-10 / 07:43 |0|

------------


Bạn có thể hướng dẫn cụ thể cho mình không ? hướng dẫn cách lập form ở quanly.php và khi xử lý sẽ qua gui.php hay độc lập tại quanly.php ?

Cảm ơn bạn rất nhiều
thuyduongcd viết 12:21 ngày 10/10/2018
Cái này phải học mySQL thôi. Lưu text gian nan vô cùng.
Khi muốn thay đổi trạng thái đơn hàng thì phải đọc file data theo từng dòng (line by line) sau đó trích phần code ra (dùng hàm substr) kiểm tra code, nếu không trùng với hóa đơn đang xử lý thì add vô biến tạm, nếu ptrùng thì replace chuỗi tinh trang bằng chuỗi đã xử lý, sau đó add vô biến tạm. Duyệt hết file này sẽ được một tập dữ liệu mới. Xong rồi ghi cái biến này vào file data lại với FILE_APPEND=false cho nó ghi đè lên file cũ.
hoanghon2005 viết 12:15 ngày 10/10/2018
trời ơi sao mà khổ thế này, làm php+Mysql sao tôi thấy bạn vất vả quá đi bạn chỉ cần tạo một trang tạo hóa đơn, tạo bao nhiêu hóa đơn cũng được trong trang này có một combo trạng thái như mấy bạn ở trên đã nói sau đó lưu nó vào database thế là xong

Bạn có thể tùy thích xử lý các hóa đơn đó bằng cách thống kê, báo cáo, giám sát tiến trình các hóa đơn

Nói chung là bạn làm chủ được thông tin một cách dễ dàng nhất bằng php+mysql
mabongdem viết 12:21 ngày 10/10/2018
let me think,you should use(php+mysql) and add 1 field in your table that it's similar (status flag)
for example : 0 or 1, 1 = checked...

hehe,i'm learning english,if i wrong,could you correct for me?
ps : kangmin_pro (Do you come from Hue city) and (Are you learning in aptech ?)
kangmin_pro viết 12:15 ngày 10/10/2018
Who are you man ?

Yes i understand your guide, but my problem not related to SQL, if using SQL, yes it very simple. issues I want to know is through a data file. dat. txt or ... not related to SQL. Can you help me ? ( PHP only )


@ Am sorry if my English have problem.

Thank you very much,
bvnguyen viết 12:18 ngày 10/10/2018
dùng mysql cho dễ bạn ạ, tạo một field tên là trangthai,đặt giá trị mặc định cho nó là 0, trong trang quanly.php ta viết code update cái giá trị đó thành 1 là được
Bài liên quan
0