채택완료

예약시간 근처가 오면 해당시간의 배경이 노란색

Copy
<style>
    .makeityellow {
        background-color: yellow;
    }
</style>    

<a href="xxxxx">
    <span class="<?php if (만약 2020-09-01 19:22 분에서 현재시간이 +- 10분 차이 면): ?> makeityellow <?php endif ?>">
        2020-09-01 19:22    
    </span>
</a>

 

예약 웹사이트를 만드는 중입니다.
예약시간 근처가 오면 해당시간의 배경이 노란색이 되게 하고 싶습니다.


질문 #1. 이 코드를 더 간단하게 하는 방법은 없나요? (코드리뷰)

질문 #2. if (만약 2020-09-01 19:22 분에서 현재시간이 +- 10분 차이 면) 이 부분은 어떻게 처리향 하나요? 

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

Copy
<style>
    .makeityellow {
        background-color: yellow;
    }

    .default {

        background-color: gray;

    }
</style>    
<a href="xxxxx">
    <span class="<?=(예약시간 ±10분 차이 내)?'makeityellow':'default'?>">
        2020-09-01 19:22    
    </span>
</a>

답변 #1. 완성된 코드가 아니라 더 간단하게 할 방법은 없습니다.

다만 삼항연산자를 이용해 코드를 짧게 표현할 수는 있습니다.

+ Expressions

- https://www.php.net/manual/en/language.expressions.php

- http://docs.php.net/manual/kr/language.expressions.php

 

답변 #2. 시간 관련 함수와 절대값을 이용하면 간편합니다.

+ Date and Time

- https://www.php.net/manual/en/book.datetime.php

- http://docs.php.net/manual/kr/book.datetime.php

+ abs()

- https://www.php.net/manual/en/function.abs

- http://docs.php.net/manual/kr/function.abs.php

편의상 Timestamp로, 현재-대상<=600 의 경우가 ±10분 안쪽입니다.

Copy
<?=abs(time()-strtotime('2020-09-01 19:22:00'))<=600?'±10분내':'그외'?>

* time() 대신 $_SERVER['REQUEST_TIME'] 변수 사용해도 무방

답변에 대한 댓글 1개

숨은 고수가 있었군요..
혹시 요즘 뭐해야 돈 버는지 아시나요?
제가 지금 좀 궁핍해서요...
이런 질문해서 죄송합니다.

답변을 작성하려면 로그인이 필요합니다.