Groups | Search | Server Info | Login | Register
Groups > dk.edb.database > #1392
| From | Jan Hansen <jhjjhjhhansen@gmail.com> |
|---|---|
| Subject | Re: PHP/MySQL problem med timestamp |
| Newsgroups | dk.edb.database |
| References | <5a5a0fad$0$726$14726298@news.sunsite.dk> <Mnz7C.312990$NO7.162981@fx43.am4> <5a5f2255$0$724$14726298@news.sunsite.dk> |
| Message-ID | <njH7C.424821$9X4.324509@fx02.am4> (permalink) |
| Date | 2018-01-17 12:28 +0000 |
Dennis Munding skrev:
> Beklager - du gættede forkert... ;-)
>
> Det er lidt mere simpelt, da det indsættes i db således:
> strtotime("dd-mm-åååå")
Ja, det burde jeg have lagt mærke til i din kode,
$indArr = explode("-", date('j-n-Y', $indmeldt));
Jeg har rettet tjekjubi til det indput:
<?php
// Medlemmer til testbrug:
$medlemmer = Array();
$medlemmer[] = Array('navn' => 'Arne', 'indmeldt' => strtotime('2017-07-11 23:59:59'));
$medlemmer[] = Array('navn' => 'Børge', 'indmeldt' => strtotime('2017-12-17 00:00:00'));
$medlemmer[] = Array('navn' => 'Carl', 'indmeldt' => strtotime('2016-01-14 23:59:59'));
$medlemmer[] = Array('navn' => 'Dennis','indmeldt' => strtotime('2012-01-17 23:59:59'));
// Løkke til brug med testmedlemmerne
foreach ($medlemmer as $aktuel) {
if ($jubi = tjekjubi($aktuel['indmeldt'])) {
if ($jubi%12==0) {
$jubi_mdr = $jubi/12; $mdrExt = "års";
} else {
$jubi_mdr = $jubi; $mdrExt = ($jubi == 1) ? "måneds" : "måneders";
}
echo $aktuel['navn'].' har '.$jubi_mdr.' '.$mdrExt.' jubilæum<br>';
} }
// Og så funktionen:
function tjekjubi($indmeldt) {
list ($dag, $md, $aar) = explode("-", date("j-n-Y",$indmeldt) );
$idag = mktime(23,59,59);
// For 7 dage siden
$sidsteuge = $idag-(7*86400);
$aktueltaar = date("Y");
// Træk et år fra aktuel, hvis indmeldelse er på den anden side af nytår
if ($md==12 && date("n")==1) $aktueltaar--;
// Års-jubilæum
$temp = mktime(0,0,0,$md,$dag,$aktueltaar);
if ($temp > $sidsteuge && $temp <= $idag) return (12*($aktueltaar-$aar));
// Måneds jubi
$mdjubi=array(18, 9, 6, 3, 1); // jubilæumsmåneder
foreach ($mdjubi as $jubi) {
$temp = mktime(0,0,0,$md+$jubi,$dag,$aar);
// Hvis tiden er udløbet, return false
if ($temp < $sidsteuge) return false;
// ...ellers er tiden > sidste uge, hvis <= idag return måneder
if ($temp <= $idag) return ($jubi);
} // videre til test af næste jubilæumsmåned
// Her må medlemskab være mindre end 1 måned, return false
return false;
}
?>
--
mvh Jan.
Help Microsoft stamp out piracy. Give
Linux to a friend today!
Back to dk.edb.database | Previous | Next — Previous in thread | Next in thread | Find similar
PHP/MySQL problem med timestamp "Dennis Munding" <nospa@mplease.dk> - 2018-01-13 13:54 +0000
Re: PHP/MySQL problem med timestamp "Dennis Munding" <nospa@mplease.dk> - 2018-01-13 14:44 +0000
Re: PHP/MySQL problem med timestamp Arne Vajhøj <arne@vajhoej.dk> - 2018-01-13 14:42 -0500
Re: PHP/MySQL problem med timestamp "Dennis Munding" <nospa@mplease.dk> - 2018-01-15 16:41 +0000
Re: PHP/MySQL problem med timestamp Arne Vajhøj <arne@vajhoej.dk> - 2018-01-15 11:52 -0500
Re: PHP/MySQL problem med timestamp "Dennis Munding" <nospa@mplease.dk> - 2018-01-16 21:27 +0000
Re: PHP/MySQL problem med timestamp Arne Vajhøj <arne@vajhoej.dk> - 2018-01-16 19:56 -0500
Re: PHP/MySQL problem med timestamp Jan Hansen <jhjjhjhhansen@gmail.com> - 2018-01-17 03:26 +0000
Re: PHP/MySQL problem med timestamp Jan Hansen <jhjjhjhhansen@gmail.com> - 2018-01-17 04:32 +0000
Re: PHP/MySQL problem med timestamp (rettet udgave) Jan Hansen <jhjjhjhhansen@gmail.com> - 2018-01-17 04:42 +0000
Re: PHP/MySQL problem med timestamp "Dennis Munding" <nospa@mplease.dk> - 2018-01-17 10:15 +0000
Re: PHP/MySQL problem med timestamp Jan Hansen <jhjjhjhhansen@gmail.com> - 2018-01-17 12:28 +0000
Re: PHP/MySQL problem med timestamp "Dennis Munding" <nospa@mplease.dk> - 2018-01-20 14:27 +0000
csiph-web