Trích xuất dữ liệu chạy được

Hi mọi người
Mình có mày mò 1 tool nhỏ như mô tả bên dưới (có hình kèm theo):

  • B1: User nhập fb userid vào
  • B2: Giao diện sẽ chuyển sang tab và show kết quả gồm những page của userid đó like
    Thường mình sẽ copy xuống tuy nhiên khi dữ liệu nhiều quá số lượng page user like trên 10000 thì html bị đơ.

Nên mọi người cho mình hỏi là có cách nào để các dữ liệu trả ra kia được lưu chuyển qua docs hoặc trên sql luôn để mình down được nhiều hơn không ạ.

Vấn đề này không chỉ bạn gặp mà nhiều trang khác đã gặp rồi, điển hình là mấy trang bán hàng, TMĐT, mấy trang cần liệt kê nhiều item nói chung. Cách giải quyết cũng đơn giản thôi: Chia kết quả trả về thành nhiều trang, mỗi trang chứa số lượng kết quả nhất định, nếu dư thì cho ra trang riêng, cái này gọi là Phân trang dữ liệu. Ví dụ số page user like là 109, nếu mỗi trang chứa tối đa là 10 page user like thì chia kết quả ra làm 11 trang, mỗi trang chứa 10 page user like, ở trang thứ 11 thì chứa 9 page user like.

Khi trang của bạn chứa quá nhiều item thì hiển nhiên nó sẽ bị nặng và load lâu, việc có 10000 item nên bị đơ là chuyện dễ hiểu.

4 Likes

Tool nhỏ đó do ai viết?

Nếu bạn viết thì trước khi xuất ra HTML bằng echo/ print/ printf thì trong PHP có xử lý như thế nào? Đưa đoạn code đó lên đây xem thử? Hỏi câu hỏi nghe chẳng hiểu gì luôn.

Nếu biết lập trình PHP thì có trường hợp dùng command line nếu không cần đến giao diện web, gõ php file.php để nó chạy và xuất ra file luôn, không hiện lên web làm gì mất công, lúc này dùng php như một ngôn ngữ lập trình không web.

3 Likes

Ủa, việc bạn chuyển dữ liệu qua docs hoặc trên SQL liên quan gì đến việc số lượng page user like trên 10000 thì trang web bị đơ ? Nói thẳng ra là nó chẳng liên quan gì cả, page đơ là do nó quá nặng, chứa quá nhiều DOM element thành ra bị đơ, hay nói cách khác là do chứa 10000 item chứ không phải là do sức chứa của server. Cách giải quyết thì như mình đã nói, phân trang dữ liệu. Nếu bạn không muốn lưu vĩnh viễn mà chỉ muốn lưu tạm thời và lười thì thậm chí bạn cũng chẳng cần DB, docs hay file, cứ mày mò phân trang dữ liệu trực tiếp trên PHP luôn. Tuy nhiên, cách này ngốn tài nguyên của server, tốn thời gian, nói chung là không tối ưu như việc dùng Bubble sort thay cho Quick sort vì lười. Nếu bạn là người viết tool trên thì hiển nhiên bạn cũng biết cách chuyển đống dữ liệu bạn có vào một trang HTML, đúng không? Vậy thì mọi chuyện đơn giản thôi, giờ thay vì chỉ chuyển đống dữ liệu đó vào một trang HTML thì bạn thêm bước chuyển nó vào DB thôi. Còn nếu bạn không biết cách chuyển số dữ liệu trên vào một trang HTML thì hiển nhiên bạn không phải là người tạo ra tool trên.

3 Likes

Mình là người viết tool.
Tuy nhiên mình không được học về code nên thật sự mình không rành nhiều, mình chỉ biết cho nó chạy ra kết quả show trên html rồi copy xuống thôi à.
Mình có thể liên hệ với bạn bằng cách nào vậy bạn ơi

cảm ơn bạn, mình sẽ tìm hiểu việc phân trang dữ liệu. Mình xin khẳng định lại là tool này do mình viết, nhưng do tay ngang gà mờ nên mình chỉ đang cho chạy rồi show dữ liệu rồi mình copy xuống excel để dùng à

Excel thì bạn xuất ra file CSV theo Semicolon Separated Value :slight_smile:

field1;field2;field3;field4;field5
"100000235711";"lorem ipsum";"Quint Lorem";"485789111";
4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?