Melding krijgen wanneer de datum verstreken is van een klant

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Als je het een date field is "end_date" dan kan je het volgende gebruiken:

      SQL-Query

      1. SELECT
      2. *
      3. FROM
      4. klanten
      5. WHERE
      6. -- Get all customers that are due
      7. DATEDIFF(end_date, CURDATE()) < 0
      8. -- Get all customers with 5 days left before due
      9. -- DATEDIFF(end_date, DATE_ADD(CURDATE(), INTERVAL -5 DAY) < 0
      Edit: Let wel op alle dates die worden opgeslagen in een MySQL databases worden in format yyyy-mm-dd opgeslagen, dus je ze naderhand om moeten zetten om dd-mm-yyyy te krijgen.
    • Bedankt patrick hij doet nu eindelijk wat ik wil!
      maar hoe moet ik mij query nu aanpakken ?

      Patrick wrote:

      Als je het een date field is "end_date" dan kan je het volgende gebruiken:

      SQL-Query

      1. SELECT
      2. *
      3. FROM
      4. klanten
      5. WHERE
      6. -- Get all customers that are due
      7. DATEDIFF(end_date, CURDATE()) < 0
      8. -- Get all customers with 5 days left before due
      9. -- DATEDIFF(end_date, DATE_ADD(CURDATE(), INTERVAL -5 DAY) < 0
      Edit: Let wel op alle dates die worden opgeslagen in een MySQL databases worden in format yyyy-mm-dd opgeslagen, dus je ze naderhand om moeten zetten om dd-mm-yyyy te krijgen.
    • Die qeury kan je gebruiken in je cronjob, de output die je krijgt zijn of allees wat vervallen is of alles wat bijna vervallen is.
      Wat je er verder mee doet is aan jou. Je zou er een extra tabel naast kunnen zetten met hoeveel herinneren etc je naar je klant hebt verzonden etc.

      Mocht je tabel klant_logs nog willen vullen dan zou ik de volgende query gebruiken:

      SQL-Query

      1. SELECT
      2. klanten.*
      3. FROM
      4. klanten
      5. LEFT JOIN klanten_logs ON klanten.klant_id = klanten_logs.klant_id AND klanten.end_date = klanten_logs.end_date
      6. WHERE
      7. klanten_logs.klant_id IS NULL
      8. -- Get all customers that are due
      9. AND DATEDIFF(end_date, CURDATE()) < 0
      10. -- Get all customers with 5 days left before due
      11. -- AND DATEDIFF(end_date, DATE_ADD(CURDATE(), INTERVAL -5 DAY) < 0
      Display All
      Deze laat alleen records zien die nog geen waarde hebben in klanten_logs welke de zelfde klant_id & end_date hebben.

      The post was edited 1 time, last by Patrick ().

    • oke bedankt patrick mijn probleem is verholpen! :)

      Patrick wrote:

      Die qeury kan je gebruiken in je cronjob, de output die je krijgt zijn of allees wat vervallen is of alles wat bijna vervallen is.
      Wat je er verder mee doet is aan jou. Je zou er een extra tabel naast kunnen zetten met hoeveel herinneren etc je naar je klant hebt verzonden etc.

      Mocht je tabel klant_logs nog willen vullen dan zou ik de volgende query gebruiken:

      SQL-Query

      1. SELECT
      2. klanten.*
      3. FROM
      4. klanten
      5. LEFT JOIN klanten_logs ON klanten.klant_id = klanten_logs.klant_id AND klanten.end_date = klanten_logs.end_date
      6. WHERE
      7. klanten_logs.klant_id IS NULL
      8. -- Get all customers that are due
      9. AND DATEDIFF(end_date, CURDATE()) < 0
      10. -- Get all customers with 5 days left before due
      11. -- AND DATEDIFF(end_date, DATE_ADD(CURDATE(), INTERVAL -5 DAY) < 0
      Display All
      Deze laat alleen records zien die nog geen waarde hebben in klanten_logs welke de zelfde klant_id & end_date hebben.