On 10/4/2019 11:49 AM, Dennis Munding wrote:
> Scenarie:
>
> Fejring af medlemskab skal vises på hjemmeside med forudgående
> nedtælling (her ligger nødden).
> Flg. markeringer skal der tælles ned til:
>
> 1000 dage
> 1500 dage
> 2000 dage
> 2500 dage
> 3000 dage
>
> Jeg kan sagtens hente data og lave nedtælling til én af ovenstående,
> men så bliver resten ikke tjekket.
>
> Ønsket scenarie/løsning:
> Der søges i db efter kommende antal dage (ovenstående) inden for næste
> 7 dage.
>
> Findes 3000 ikke gås videre til næste o.s.v.
> Findes både eks. 3000 og 1500, skal der laves to (eller flere)
> nedtællinger, som vises.
>
> Giver det mening?
>
> Har lavet en test-side, hvor nedtællingen tidsintervallerne vises:
>
https://1dpb.dk/?side=test2
>
> Uret der kører p.t. tæller ned til næste 1000-dages jubilæum, men jeg
> ved, at der samme dag er et 1500-dages jubilæum.
Jeg er ikke sikker på at jeg har forstået problemstillingen.
Men her er "noget" som måske kan inspirere:
mysql> CREATE TABLE members (
-> id INTEGER NOT NULL,
-> name VARCHAR(50) NOT NULL,
-> start DATE NOT NULL,
-> PRIMARY KEY(id)
-> );
Query OK, 0 rows affected (0.27 sec)
mysql> INSERT INTO members VALUES(1,'A A','20181009');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO members VALUES(2,'B B','20181020');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO members VALUES(3,'C C','20171008');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO members VALUES(4,'D D','20171021');
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM members;
+----+------+------------+
| id | name | start |
+----+------+------------+
| 1 | A A | 2018-10-09 |
| 2 | B B | 2018-10-20 |
| 3 | C C | 2017-10-08 |
| 4 | D D | 2017-10-21 |
+----+------+------------+
4 rows in set (0.00 sec)
mysql> SELECT '1 year' AS typ,name,365-DATEDIFF(NOW(),start) AS
missingdays FROM members WHERE DATEDIFF(NOW(),start) BETWEEN 365-7 AND 365
-> UNION
-> SELECT '2 years' AS typ,name,2*365-DATEDIFF(NOW(),start) AS
missingdays FROM members WHERE DATEDIFF(NOW(),start) BETWEEN 2*365-7 AND
2*365
-> ORDER BY missingdays;
+---------+------+-------------+
| typ | name | missingdays |
+---------+------+-------------+
| 2 years | C C | 3 |
| 1 year | A A | 4 |
+---------+------+-------------+
2 rows in set (0.00 sec)
Arne