01/10/2018, 14:36

Lấy dữ liệu tự động từ database lên web mỗi ngày

Mọi người cho em hỏi … e muốn select từ bảng trong database mà trong bảng có dữ liệu từ hôm nay đến sáng tháng… em muốn lấy dữ liệu tự động từ bảng lên web mỗi ngày… ví dụ như hôm nay thì lấy dữ liệu của hôm nay, ngày mai lấy dữ liệu ngày mai…
Ai chỉ em cách đuợc ko

Thành Minh viết 16:37 ngày 01/10/2018

Keyword cho bạn trong trường hợp này chắc là cronjob.

Duy Khanh viết 16:50 ngày 01/10/2018

Nghĩa là cứ đến thời điểm ngày mới là website tự động select và hiển thị dữ liệu ngày hôm đó phải không bạn.

Phat.Le viết 16:51 ngày 01/10/2018

Có lẽ ý bạn muốn là sysdate
Điều kiện ngày của data = sysdate

Nguyễn Huấn viết 16:47 ngày 01/10/2018

đúng ý em rồi đấy ạ!!

Nguyễn Huấn viết 16:48 ngày 01/10/2018

sysdate

là như thế nào vậy a!!

Duy Khanh viết 16:39 ngày 01/10/2018

Mình nghĩ là mỗi lần người dùng tạo request đến website của bạn thì nó sẽ tạo truy vấn với điều kiện là Date của ngày hôm đó bằng ngôn ngữ lập trình (hoặc dùng luôn hàm sysdate trong sql để lấy thời gian hiện tại) rồi vào CSDL lấy dữ liệu ra và hiển thị lên thôi. Vì web của bạn là web động chứ có phải web tĩnh đâu mà nhỉ.

Vô Thin viết 16:37 ngày 01/10/2018

Tất nhiên là table chứa các bài viết muốn hiện lên của ngày hôm đó thì phải có một trường để làm điều kiện của select, nếu không thì không cách nào thực hiện được việc mong đợi cả.

Cho nên, khi các bài viết/ dữ liệu ta muốn hiển thị lên được đưa vào web thì ta sẽ phải thiết lập cho nó một trường có ngày tháng sẽ hiện trong tương lai. Việc còn lại là cứ query thấy đúng ngày tháng thì sẽ hiện lên thôi.

Còn nếu không có trường chứa ngày tháng thì ít ra cũng phải có quy luật/ điều kiện, ví dụ như hiện có 10 ngàn bài viết/ mẩu dữ liệu cần hiện lên theo ngày, mỗi ngày hiện 100 bài, thì ta cứ ngày đầu tiên ta lấy 100 bài, và save lại vào một file con số đó, đến ngày hôm sau lại đọc file đó lên, lấy 100 bài tiếp theo.

Cách hiểu đơn giản nhất là ra nhà ga/ bến cảng xem bảng “lịch tàu chạy” hoặc chạy tới phường xem “lịch công tác” là hình dung nếu chưa bao giờ thấy một cái kiểu ngày nào làm việc ngày đó như đang hỏi.

Hãy cho table dữ liệu lên đây để mọi người góp ý. Khi câu query chạy ổn rồi thì đơn giản là viết một script và đưa vào cron cho nó chạy.

Duy Khanh viết 16:36 ngày 01/10/2018

Tại sao phải cron làm gì ạ, em tưởng là mỗi lần có request đến web thì mình vào CSDL select các trường thỏa mãn của ngày hôm đó ra và hiển thị lên thôi chứ ạ.

Nguyễn Huấn viết 16:37 ngày 01/10/2018

các trường trong table đây ạ

Vô Thin viết 16:51 ngày 01/10/2018

Dự báo thời tiết à bạn. wt_province_date là chứa cái gì ở đó? Có phải là ngày được lập trước để đến ngày đó hiển thị lên không? Nếu vậy, câu lệnh SQL gần như sau:

SELECT province_name, wt_province_temperature, FROM tên_table WHERE wt_province_date = CURRENT_TIMESTAMP

Hãy thử chạy câu query có CURRENT_TIMESTAMP để xem nó dài/ ngắn/ có tương thích với cột wt_province_date để điều chỉnh cho đúng hoặc sử dụng hàm để cắt/ nối để có thể so sánh nhằm so khớp wt_province_date với CURRENT_TIMESTAMP hoặc dùng hàm GETDATE(). Vì không biết CSDL đang đề cập là MySQL hay SQL Server hay gì đó & table cũng không có dòng dữ liệu nào nên không thể minh họa bằng 1 câu truy vấn chính xác.

Hung viết 16:38 ngày 01/10/2018

Trường hợp của bác là lý do tại sao các Web framework khi tạo model luôn có sẵn 3 field: createAt, updateAt kiểu timestamp, và id cho primary key.

Nguyễn Huấn viết 16:38 ngày 01/10/2018

e dùng mysql ạ

Nguyễn Huấn viết 16:49 ngày 01/10/2018

CURRENT_TIMESTAMP có cả ngày giờ đúng ko chị ơi… làm thế nào để cắt lấy ngày thôi ạ

Bài liên quan
0