나는 clients
이라는 Mysql 테이블을 가지고있다. 어떤 구조가 울부 짖음인지 :PHP를 사용하여 매월 1 일 청구서를 생성하는 방법은 무엇입니까?
client_id conn_date monthly_bill
======================================
1 2016-08-18 100
2 2016-09-12 200
3 2016-10-20 250
4 2016-06-02 300
client_bill_paid
이라는 또 다른 테이블. 이 표에서 나는 bill_month
(지불 어느 달 클라이언트) 루프가 모든 클라이언트를 얻을 매월 청구서 1 일을 생성 할하면서
bill_id client_id bill_month
====================================
1 2 2016-10-01
2 3 2016-10-02
가 지금은 PHP에서 SQL 쿼리를 실행하고 함께
client_id
를 삽입하고있다.
require_once("../header.php");
$query = mysqli_query($conn, "SELECT * FROM clients ");
echo "<table border='1'>";
echo "<tr>";
echo "<td>Client Id</td>";
echo "<td>Joined Date</td>";
echo "<td>Monthly Bill</td>";
echo "<td>Due</td>";
echo "<td>Paid</td>";
echo "</tr>";
while ($result = mysqli_fetch_array($query)) {
$client_id = $result['client_id'];
$conn_date = $result['conn_date']; // Joined Date
$monthly_bill = $result['monthly_bill'];
echo "<tr>";
echo "<td>$client_id</td>";
echo "<td>$conn_date</td>";
echo "<td>$monthly_bill</td>";
echo "<td> </td>"; // My question is here
echo "<td> </td>"; //
echo "</tr>";
}
echo "</table>";
은 이제 HTML 인해 컬럼에 오늘 날짜까지 총 인해 양을 보여주고 싶어요.
예를 들어 :
오늘은 2017-01-18
및 client_id
입니다 = 3은 2016-10-20
가입되어 그리고 client_bill_paid
테이블에 client_id
= 3가 없기 때문에이 클라이언트는 아직 지급되지 않습니다.
그래서 지금이 클라이언트에 대해 총 인해 금액은 다음과 같아야합니다
2016-10-20 = $88 // Joined 20th and month end 31th = 11 days * ($250/31)
2016-11-01 = $250
2016-12-01 = $250
2017-01-01 = $250
Total = $838
내가 HTML 인해 열에이 $ (838)을 보여주고 싶어요. 어떻게해야합니까? 결과에 당신이 지불 한 달의 양을 알 수 다음 인해 및 유료 금액을 계산하는 수식을 사용할 수 있습니다 -
$query = mysqli_query($conn, "SELECT c.*, count(p.id_client) as paid_months FROM clients c LEFT JOIN client_bill_paid p ON p.id_client = c.id_client") GROUP BY c.id_client;
그렇게 : 뭔가를 그런 식으로 -
SO는 코드 작성 서비스가 아닙니다. 이 작업을 수행하는 방법을 모르는 경우 온라인으로 검색하고 배우거나 전문가에게 비용을 지불하십시오. – Styphon