2017-01-18 3 views
0

나는 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-18client_id입니다 = 32016-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; 

그렇게 : 뭔가를 그런 식으로 -

+0

SO는 코드 작성 서비스가 아닙니다. 이 작업을 수행하는 방법을 모르는 경우 온라인으로 검색하고 배우거나 전문가에게 비용을 지불하십시오. – Styphon

답변

0

은 왼쪽 조회에서 가입 할 수 있습니다.

관련 문제