2011-03-04 11 views
0

PHP/MySQL 설정이 필요합니다. 기본적으로 이것에 접근하는 가장 좋은 방법이 무엇인지, 또는이 방법에 접근하는보다 효율적인 방법이 궁금합니다.날짜로 무언가 완료되었는지 확인

저는 현재 달 (PHP)을 IF 계산서를 통한 최근 지불액과 비교할 생각이었습니다. 지불하지 않은 사람들은 총 금액을 지불하지 않은 복소수를 표시합니다.

아파트 루프의 합계를 더하기 위해 while 루프를 사용하고 rent_total과 비교합니다. total_paid가 rent_total보다 작 으면 지불되지 않은 것으로 표시됩니다.

apt_payments

  • ID (INT)
  • resident_name (VARCHAR)
  • complex_number (SMALLINT)
  • 양 (십진수 [10,2])
  • PAYMENT_DATE (DATETIME)
  • apt_complex

  • ID (INT)
  • ,515,
  • complex_number (SMALLINT)
  • 유형 (VARCHAR)
  • start_lease (DATE)
  • end_lease (DATE)
  • rent_total (십진수 [10,2])
  • 빈 (INT)
  • +3

    무엇이 당신의 질문입니까? – reggie

    답변

    0

    테스트되지 않은 :하지만,

    SELECT cplx.*, amtPaid 
    FROM apt_complex cplx 
    LEFT JOIN (
        SELECT sum(amount) as amtPaid, 
          year(payment_date) as payYear, 
          month(payment_date) as payMonth, 
          complex_number 
        FROM apt_payments 
        GROUP BY complex_number, year(payment_date), month(payment_date) 
    ) payments ON payYear = [YEAR] AND payMonth = [MONTH] 
          AND payments.complex_number = cplx.complex_number 
    

    는 뭔가 리튬 생각 ke는 모든 아파트와 그 달에 지불 한 금액의 목록을 제공합니다. PHP에서 결과를 순환하여 값 amtPaidrent_total에 따라 원하는대로 인쇄 할 수 있습니다.

    CASE 문을 쿼리에 넣고 거기에서 지불을 확인할 수도 있습니다. 그런 다음 쿼리는 단순히 유료 또는 미 지불을 반환 할 수 있습니다. [YEAR][MONTH]은 MySQL에서 날짜 호출로 대체하거나 PHP에서 월/년을 쿼리에 넣어야합니다. 나는 네가보고있는 달을 추측하고 싶지 않았다.

    관련 문제