오늘은 대한입니다.
sun's longitude:299 48 57.31 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
1403 번 글의 답장글: Re: php 질문
글쓴이: 산이 [홈페이지] 글쓴날: 2003년 03월 27일 00:48:56 목(새벽) 조회: 731
[김성민]님이 남기신 글:

>안녕하세요.
> 
>혼자 끙끙끙끙 하다가 도저히 이해가 안가서요.
>리눅스는 아니지만 아실것 같아서..
>
>게시판 만들기를 하고 있는데 작성일로 부터 2일간 new 표시를
하려하는데 제어방법이 안됩니다.
>
>## db ##
>CREATE TABLE free (
>  id int(11) NOT NULL auto_increment,
>  name varchar(15) default NULL,
>  email varchar(50) default NULL,
>  passwd varchar(12) default NULL,
>  subject varchar(100) default NULL,
>  body text,
>  insert_date datetime default NULL,
>  modify_use int(1) default '0',
>  modify_date datetime default NULL,
>  count int(11) default NULL,
>  ip varchar(20) default NULL,
>  file varchar(50) default NULL,
>  PRIMARY KEY  (id)
>) TYPE=MyISAM;
>
>## 입력 ##
>$query = "insert into $db_table values
('','$name','$email','$passwd','$subject','$body',now(),'','','0','$ip','$file')&quo
t;;
>$result = mysql_query($query);
>
>## 리스트 출력 ##
>$query = "select id, name, subject, insert_date, count from $db_table order by
id DESC";
>$result = mysql_query($query);
>$row = mysql_fetch_array($result);			
>
>
>날짜 출력 : $row[insert_date];
>
>제목 : $row[subject];
>
>여기서 제목에 new 를 붙일려고 하는데요.
>php관련 사이트를 보면 오늘날짜와 비교한다.... 이거는
알겠습니다.
>
>$today = date("Y-m-d H:i:s", time());
>
>if($row[insert_date]==$today){ //오늘날짜와 같으면.
>$icon=new.gif;
>}
>이런식이 된다는거 까지는 알겠는데요..
>
>24시간 동안 표시한다고 하면?
>
>(1)작성날짜(저장날짜)
 2003-03-25 00:00:00
>(2)현재날짜 2003-03-26 00:00:00
>
>이것을 어떻게 계산하여야 하는지에서 막히고
있습니다.
>
>$today = date("YmdHis", time()); 와 같이 다다닥 붙여서 숫자로
해보기도 하고 별짓을 다하는구만 이해가 안가고
있습니다.
>
>현재 커피믹스 1곽, 담배 2갑째 들어갑니다.^^
>
>예제가 있으면 좋은데 다른 사이트들 게시물 보면 죄다 뭐뭐를
어떻게 해라.. 이렇게만 있어서 뭘 알아야 해먹죠...

우선 현재 시각과 DB 의 날짜를 비교해야 하는데
둘다 정수형이 아닌 문자열이어서 비교하기가 좀 까다롭게
되어 있군요.

즉 문자형을 정수형으로 변환해서 서로 비교해야 합니다.
현재 DB의 자료형은 datatime 즉 실제로는 문자형입니다.
따라서 DB에 추가할때 아예 정수형으로 집어넣든지
문자형을 정수형으로 변환해야 해야합니다.


$time[base] = time() - (86400*2); // 현재 unixtimestamp - 2일(비교기준시각)

...
// loop 문 시작
...
$time[insert] = strtotime($row[insert_date]); // to unixtimestamp

if($time[base] < $time[insert]) {
  $icon = 'new.gif';
}

...
// loop 문 끝

이와 같이 날짜같은 자료는 비교하는 경우가 많으므로

insert_date datetime default NULL,

보다는

insert_date int(10) default '0' NOT NULL,

이렇게 정수형으로 DB에 넣어주는 것이 호환성면에서
좋습니다.
(물론 어떤 DB에서는 비교하는 경우가 없다면
이렇게 할 필요는 없습니다.)

이렇게 DB에 정수형으로 집어넣으면
굳지 strtotime() 함수를 쓰지 않아도 되겠죠..

>
>좀 부탁 드려도 될까여???
>
>
>그리구, 어제 저녁에 서점에 php 기초책 사러 갔다가 어떤
사람이 리눅스 책이 어떤게 좋으냐고 주인에게 묻는데 주인이
영진.. 뭐를 주더군요.
>그 책을 제가 산이님 책 보기전에 처음에 샀던건데 내용이
듬성듬성해서 보나마나거든요.
 그래서 진영대를 봤는데 이번에 산이님 개정판이 1권 남아
있길래 과감히 이거 보라고 했습죠.
>실무에 참 도움 된다... 느낀점을 살짝 말했더니만 바로 그거
사더군요.
>내가 보는 책, 그리고 내가 도움 받는 사이트 운영자 책이
서점에 보일때 이상하게 흐뭇해 지더군요. 


아 그런가요?

(책을 쓰고 난후 저한데 돌아온것은 엄청난 질문과 간혹
알아주는 분,
판매량만큼 경제적인 이익이 있을 것이라고 대부분
독자분들은
그렇게 생각하시겠지만
 절대 그렇지 않습니다.
저 같은 경우 예전도 지금도 거지입니다... 하하)

(판매량만큼 금전적인 추가부분은 없고 저한테는 질문만
쏟아집니다.
...하하)

어째튼 고맙습니다.

 
이전글 : php 질문
다음글 : Re: Re: 할말이 없군요  
 from 61.254.75.40
JS(Redhands)Board 0.4 +@

php 질문 Re: Re: 할말이 없군요
인쇄용 


apache lighttpd linuxchannel.net 
Copyright 1997-2026. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds