php 날짜 관련해서 질문좀 드리겠습니다.

php 날짜 관련해서 질문좀 드리겠습니다.

QA

php 날짜 관련해서 질문좀 드리겠습니다.

본문

일단 어제 날짜 오늘 날짜 내일 날짜를 갱신할려고 합니다.

 

날짜를 구하는 방법을 여쭤보는 것이 아닙니다 ...

그 방법은 이미 다 구현이 된 상태인데, 제가 원하는게 ...

 

단순히 예를 들어 

전날       2018.02.04   다음날    이렇게 해서

데이터 쭈우우우우우우욱 나오고

전날을 누른다고 가정했을때

전날    2018.02.03  다음날 이렇개 해서

또 데이터 쭈우우욱 나오게 할려고 합니다.

 

역시나 이방법을 여쭤볼려고 하는것이 아닙니다. 이것도 구현한 상태로 잘 작동합니다.

즉, 전날 누르면 위처럼 잘 나오고 데이터도 잘 나옵니다.

 

다만 전날을 누르면, 새로 페이지가 갱신되는 현상이 있어서 .... 

(현재 스크롤이 있는 페이지라, 위로 올라갔다가 다시 내려오는 현상)


전날 누르면 그 즉시 데이터를 변경할 수 있는 방법을 모색하던중 ajax 를 이용하면 된다고 해서 약 5시간 가량 검색해봐도 제대로 된 내용을 확인할 수 없었고,

마지막으로 확인한 답변에서는 불가능하다는 답변을 얻었습니다.

 

대표적으로 iframe 을 이용해서 target 을 주는 방법도 해봤고, 
자바스크립트에 프리이벤트디폴트를 주는 방법도 해봤고,
다양한 방법을 해봤습니다..ㅠ만 아쉽게도 모두 안되더라구요....

 

혹시 좋은방법이나, 관련 소스 혹은 예제 사이트가 있다면 도움 좀 받을 수 있을까? 합니다..ㅠㅠ
후...오늘 하루 종일 이것 때문에..고생입니다..

답변 좀 부탁드리겠습니다.

 

제가 원하는건, 그 자리에서 데이터가 변경되는 ....방법이 궁금합니다. 

 

아래는 위 내용을 구현한 소스입니다

 

 
 
<?php
$TargetDate = $_POST["TargetDate"];
if($TargetDate == "")
{
    $TargetDate = date("Y-m-d");
}
$PreDay = date("Y-m-d", strtotime($TargetDate . " -1 day"));
$NextDay = date("Y-m-d", strtotime($TargetDate . " 1 day"));
?>

<form method="POST" id="PreDateForm">                    
<input type="hidden" name="TargetDate" id="TargetDate" value="<?php echo $PreDay;?>" />
<?php
        $PreCompare = date("Y-m-d", strtotime(date("Y-m-d") . " -3 day"));
        if($TargetDate > $PreCompare)
        {
echo "<a href=\"#\" onclick=\"document.getElementById('PreDateForm').submit(); return false;\">전날</a>";
}
else
{
echo "<a style=\"cursor:pointer;\" onclick=\"javascript:alert('3일 이전의 데이터는 확인이 불가능합니다.'); return false;\">전날</a>";
}
?>
</form>
<?php echo $TargetDate;?>

이 질문에 댓글 쓰기 :

답변 3

1. 페이지 전환없이 내용의 변경이 필요하다면 ajax 혹은 iframe 이 방법이겠죠.

2. iframe을 이용해도 iframe 영역은 화면깜박임(새로고침)이 될수 있습니다.

3. ajax를 이용할 경우 현재 날짜및 데이터 이외에도 첫 로딩시 여분으로 데이터를 로딩해놓는 방식으로 구현현할 수 있습니다. 흔히 무한스크롤이라 부르며 리스트를 정해진 갯수만큼 뿌려주고 더보기등을 통해 다시 뿌리는 형식이죠.

 

4. 단순히 어제 오늘 내일 데이터만을 갱신하는 것이 목적이라면 다른 것을 연구할 필요도 없이 애초에 3가지를 다 뿌려놓고 눈에 보이는 가시적인 부분만 오늘로 맞춰놓으시면 됩니다.

 

즉, 정해진 날짜(오늘)이 주어지면 어제데이터와 내일데이터(?)를 구해와 뿌려놓고 전날버튼, 다음날버튼을 클릭하면 해당 날짜에 해당하는 데이터를 보여주는 식이죠. 간단히 탭형식을 생각해보시면 간단한 구조입니다. 

 

질문자님의 글을 검색해봤습니다.

 

https://sir.kr/qa/228228?sfl=mb_id%2C1&lstx=pnj312

 

불가능 하다는 답변은 없는것 같은데요.

답변 달아주신 분 방법대로 하면 될것 같구요

 

추가적으로 jQuery Ajax 를 사용하는 간단한 예제입니다.

https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_ajax_ajax

 

비동기로 읽어들이는 파일은 소스에 나와있듯이

https://www.w3schools.com/jquery/demo_test.txt

입니다.

제 질문에 대한 답이 불가능하다는건 아닙니다. 질문하기전 계속 검색하니..

어디였는지 기억이 안나지만, ajax 값을 php 변수에 대응해야 하는데 그게 안된다는 답변이였습니다.

아직은 초보수준이라 그런지 ajax 데이터를 받아와서 ... 석세스 부분에서 html 을 갱신하면 되는데

다시 전날을 누르면 다시 그전날로 넘어가야 하는데 (2번 눌렀으니 -2일)  그게 안되더라구요

한번만 넘어가서 ㅠㅠㅠㅠㅠ

더불어 제이쿼리를 이용한 ajax 는 보기는 봤습니다만, 위 질문을 해결할수는 없더라구요...

음 제가 질문의 요지를 잘 이해 못했을 수도 있습니다만.

예를 드신것 처럼 전날을 누르면 기존 데이터가 사라졌다가 전날의 데이터가 나오면 되는 것 아닌가요???

만일 맞다면 ajax로 충분할 듯 보입니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,665 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT