Chào Bạn, cảm ơn bạn đã reply. Như đã nói mình chưa học qua PHP chủ yếu tự mày mò thôi, nên ko rành chuyên môn cho lắm. Phần kết nối PHP vs Mysql mình điền tay vào(mình thấy một số trang chỉ bỏ vào trong 1 file *.db gì đó).Mình post code lên đây luôn bạn xem giúp mình nhé:
<div class="container">
<h1>Call</h1>
<table class="table table-hover ">
<thead class="active">
<tr>
<th>Customer</th>
<th>Total Call</th>
</tr>
</thead>
<tbody>
# (câu truy vấn thứ 2 mình tính bỏ vào chỗ này" SELECT cnam as khachhang, COUNT(calldate) AS total_call
FROM cdr WHERE calldate BETWEEN '2017-07-01 00:00:00' AND '2017-07-31 23:59:59'
AND recordingfile <> ''
AND (( cnum like '%%' AND dst IN ($ phần này lấy dữ liệu từ EXT bảng trên)) OR (cnum IN ($ phần này lấy dữ liệu từ EXT bảng trên) AND dst like '%%'))" )
<?php While ($row = mysql_fetch_array($dd_res)): ?>
<tr>
<td><?php echo ($r['0']) ?></td>
<td><?php echo ($r['total_call']); ?></td>
</tr>
<?php endwhile; ?>
<?php mysql_close ($conn); ?>
</tbody>
</table>
</body>
@phuong1492 Lưu các file mà user upload lên cloud storage cũng là một giải pháp, tuy nhiên vẫn còn những cách giải quyết khác mà :slight_smile:
Mình nghĩ các file do user upload lên sẽ được đặt vào trong một thư mục riêng đúng không bạn, chẳng hạn như public/upload, và nó sẽ tách biệt với thư mục chứa những file assets precompile (css, javascript) của bạn (giả sử như nó là public/assets)
Như vậy thì thay vì mount toàn bộ thư mục public, bạn chỉ cần mount thư mục public/upload ra ngoài là được mà, do nó là thư mục chứa file user upload, nên ban đầu nó cũng không chứa gì, và qua các bản release nó cũng sẽ không thay đổi gì đúng không bạn
Thực chất, ngoài sử dụng cho bảo mật thì mục đích chính của Captcha chính là tận dụng nguồn nhân lực free trên internet để nhận diện chữ viết, thường là tài liệu được scan từ các văn tự đã cũ, khó nhìn; hoặc với mục đích khác là đánh nhãn cho dữ liệu ảnh (nhà, xe, bảng hiệu...).
Hàng năm, chính những người dùng internet đã đóng góp phần lớn công sức vào việc đánh lại những tài liệu đó bằng việc nhập Captcha.
Trong public ngoài js và css(đc sinh tạo ra khi chạy assest precompile) thì còn có chứa các file do user upload lên, hoặc những file csv mà user export ra.
Nếu không đc thì có lẽ phải lưu dữ liệu vào cloud storage nào đó anh nhỉ?
@phuong1492 Mình có thắc mắc một chút là trong thư mục log và public của bạn đang chứa dữ liệu gì vậy? Tại sao khi release lại cần thay đổi trong đó?
Thay vì cứ tìm cách đi theo hướng
giữ lại nội dung trong thư mục public và log của container trước và update thêm nội dung của build container lần này
bạn thử nghĩ cách giải quyết theo hướng
những folder trong container mà bạn cần mount thư mục ở máy host vào thì bạn không nên để gì trong đó, chúng chỉ nên là những folder trống
xem sao
Những thứ thư mục trong container đã có dữ liệu thì không nên mount, đã mount thì không nên chứa dữ liệu.
Cám ơn anh đã trả lời!
Mỗi lần release sẽ phải dựng lại container, vậy em muốn giữ lại nội dung trong thư mục public và log của container trước và update thêm nội dung của build container lần này thì nên làm như thế nào anh?
"separation of concerns - SoC" dịch là phân tách các mối quan hệ thì nghe không được sướng tai lắm anh.
Từ này trong thiết kế hệ thống sử dụng rất nhiều, có một từ phổ biến với anh em VN hơn là "Chia để trị". Dịch theo ngữ cảnh thì "separation of concerns" có thể dịch là "Chia để trị".
THẢO LUẬN
Chào Bạn, cảm ơn bạn đã reply. Như đã nói mình chưa học qua PHP chủ yếu tự mày mò thôi, nên ko rành chuyên môn cho lắm. Phần kết nối PHP vs Mysql mình điền tay vào(mình thấy một số trang chỉ bỏ vào trong 1 file *.db gì đó).Mình post code lên đây luôn bạn xem giúp mình nhé:
<?php $databaseHost = "203.162.XXX.XXX"; $databaseUser = "XXX"; $databasePassword = "XXXX"; $databaseName = "callreport"; $con=mysql_connect($databaseHost ,$databaseUser ,$databasePassword )or die ('Connection Error'); mysql_select_db("callreport",$con) or die ('Database Error'); ?> <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width , initial-scale=1”"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <title>Call Report </title> </head> <body>Call Report Form
<form calss="form-group" action="" method="post"> <table> <tr> <label for="KH">Customer</label>: <Select name="kh" class="form-control" > <option value="none">-----SELECT-----</option> <option value="all">ALL</option> <?php $dd_res=mysql_query("Select name_kh from callreport_list"); while($r=mysql_fetch_row($dd_res)) { echo "<option value='$r[0]'> $r[0] </option>"; } mysql_close ($conn); ?> </form>FROM cdr WHERE calldate BETWEEN '2017-07-01 00:00:00' AND '2017-07-31 23:59:59' AND recordingfile <> '' AND (( cnum like '%%' AND dst IN ($ phần này lấy dữ liệu từ EXT bảng trên)) OR (cnum IN ($ phần này lấy dữ liệu từ EXT bảng trên) AND dst like '%%'))" ) <?php While ($row = mysql_fetch_array($dd_res)): ?> <tr> <td><?php echo ($r['0']) ?></td> <td><?php echo ($r['total_call']); ?></td> </tr> <?php endwhile; ?> <?php mysql_close ($conn); ?> </tbody> </table> </body>
</div> </html> ...Nice article
@toan.truong Bạn có thể làm rõ hơn một số vấn đề dưới đây được không
Edited, cái đấy quen thuộc mà viết nhầm
vâng, em cám ơn ạ!
@vinhnguyen Bạn có thể nói rõ hơn cho mình về cách chọn activation function được không? Mình cảm ơn.
https://github.com/ngocthoaia1/reports-html-canvas/blob/master/game.html code ảnh này anh, cái này như phát triển thêm cái trên w3school, lôi vào chơi thử
@phuong1492 Lưu các file mà user upload lên cloud storage cũng là một giải pháp, tuy nhiên vẫn còn những cách giải quyết khác mà :slight_smile:
Mình nghĩ các file do user upload lên sẽ được đặt vào trong một thư mục riêng đúng không bạn, chẳng hạn như
public/upload, và nó sẽ tách biệt với thư mục chứa những file assets precompile (css, javascript) của bạn (giả sử như nó làpublic/assets)Như vậy thì thay vì mount toàn bộ thư mục
public, bạn chỉ cần mount thư mụcpublic/uploadra ngoài là được mà, do nó là thư mục chứa file user upload, nên ban đầu nó cũng không chứa gì, và qua các bản release nó cũng sẽ không thay đổi gì đúng không bạngame đâu ? ko có chỗ nào chơi à (2tat)
Thực chất, ngoài sử dụng cho bảo mật thì mục đích chính của Captcha chính là tận dụng nguồn nhân lực free trên internet để nhận diện chữ viết, thường là tài liệu được scan từ các văn tự đã cũ, khó nhìn; hoặc với mục đích khác là đánh nhãn cho dữ liệu ảnh (nhà, xe, bảng hiệu...). Hàng năm, chính những người dùng internet đã đóng góp phần lớn công sức vào việc đánh lại những tài liệu đó bằng việc nhập Captcha.
@phuong1492 Mình có thắc mắc một chút là trong thư mục
logvàpubliccủa bạn đang chứa dữ liệu gì vậy? Tại sao khi release lại cần thay đổi trong đó? Thay vì cứ tìm cách đi theo hướngbạn thử nghĩ cách giải quyết theo hướng
xem sao
Những thứ thư mục trong container đã có dữ liệu thì không nên mount, đã mount thì không nên chứa dữ liệu.
Cám ơn anh đã trả lời! Mỗi lần release sẽ phải dựng lại container, vậy em muốn giữ lại nội dung trong thư mục public và log của container trước và update thêm nội dung của build container lần này thì nên làm như thế nào anh?
Ctrl + Shift + Nlà mở tab ẩn danh mà nhỉMình trước học BK, giờ mình đang làm việc tại mảng AI của Framgia bạn ạ. Bạn có thể liên hệ mình theo FB https://www.facebook.com/thienan.pham.710
"separation of concerns - SoC" dịch là phân tách các mối quan hệ thì nghe không được sướng tai lắm anh. Từ này trong thiết kế hệ thống sử dụng rất nhiều, có một từ phổ biến với anh em VN hơn là "Chia để trị". Dịch theo ngữ cảnh thì "separation of concerns" có thể dịch là "Chia để trị".
Stripe không hỗ trợ bank VN?
chào anh, e muốn học về AI, ko biết a học ở trường nào
Rất hay ạ
@PhuongTrinh (wow) bài viết của Chụy Phương Koong hay vỡi (cap) (yaoming) (dance2)