··조회 9,527
[re] 궁금한거 4가지...질문요
안녕하세요. 한꺼번에 많이 질문하셨네요...^^
1)질문, 답변게시판처럼...
검색할경우 검색되어진 결과물에 검색단어의 글자들이 두껍게 나오게 하려면 어떻게 해야 하는지요..
글 리스트를 보여주는 부분, 즉 제 강좌에서는
while ($array=mysql_fetch_array($result)) {
이렇게 시작되는 부분. 이 while 문 안에서 다음과 같은 코드를 추가하면 됩니다.
if($src_value != '') { // 검색어가 있을 경우
$src_pattern = "/$src_value/"; // 검색어 패턴 지정
if($src_name=="name") $array[name] = preg_replace($src_pattern, "<font color=FF001E style=background-color:FFF000;>$src_value</font>", $array[name]); // 이름 검색일 경우 검색어에 해당되는 부분의 글자색과 배경색을 바꿈
if($src_name=="subject") $array[subject] = preg_replace($src_pattern, "<font color=FF001E style=background-color:FFF000;>$src_value</font>", $array[subject]); // 제목 검색일 경우
}
preg_replace 함수를 사용해서 특정 단어를 치환하는 역할을 합니다. 자~알 보시면 이해가 되실 듯.
2)글쓰기 페이지에서
Name 상자 (상자부분에 사용자가 이름을 직접쓰는 란)
박스부분을 한줄글상자(나모웹에디터로 표현합니다.)로 표현을 하면 상자가 좀 크게 나오는데..
크기조절을 현재글쓰기 페이지에서 보이는 것처럼 작게 나오게 하려면 어떻게 해야 하나요...
나모에서 한줄글상자를 삽입한 다음, 속성 대화상자에서,
[스타일] 버튼을 누르고, [테두리] 탭에서 모양을 groove로 설정해 보세요..
3) 글쓰기부분에 보면 내용쓰는(contents)란에 글을 쓰면 쓸때는 줄바꿈이 되는데 목록으로 갔다가 작성글을 보면 줄바꿈없이 내용일 나오는데요..
어떻게 해야 하나요..
줄바꿈은 nl2br 함수를 사용합니다.
DB에서 추출한 값이 $array[memo]라고 한다면,
$array[memo] = nl2br($array[memo]); 와 같이 해주면 됩니다.
엔터가 입력된 곳을 <br> 태그로 바꿔주는 역할을 합니다.
4) 글 작성 날짜와 시간이 이상하게 나옵니다
mysql 테이블에서 date int(11) not null,
그리고...글 목록부분에
while ($array=mysql_fetch_array($result))
{
$date = date("Y/m/d", $array[date]);
echo "~~~~~~
이렇게 해 놨는데오 안되더라구요...
답변부탁드립니다.
어떻게 이상하게 나오는지 알아야할 것 같은데요...
그 결과값을 봐야 원인을 찾을 수 있습니다.
원하시는 답변이 제대로 되었는지 모르겠네요.
감사합니다.

1)질문, 답변게시판처럼...
검색할경우 검색되어진 결과물에 검색단어의 글자들이 두껍게 나오게 하려면 어떻게 해야 하는지요..
글 리스트를 보여주는 부분, 즉 제 강좌에서는
while ($array=mysql_fetch_array($result)) {
이렇게 시작되는 부분. 이 while 문 안에서 다음과 같은 코드를 추가하면 됩니다.
if($src_value != '') { // 검색어가 있을 경우
$src_pattern = "/$src_value/"; // 검색어 패턴 지정
if($src_name=="name") $array[name] = preg_replace($src_pattern, "<font color=FF001E style=background-color:FFF000;>$src_value</font>", $array[name]); // 이름 검색일 경우 검색어에 해당되는 부분의 글자색과 배경색을 바꿈
if($src_name=="subject") $array[subject] = preg_replace($src_pattern, "<font color=FF001E style=background-color:FFF000;>$src_value</font>", $array[subject]); // 제목 검색일 경우
}
preg_replace 함수를 사용해서 특정 단어를 치환하는 역할을 합니다. 자~알 보시면 이해가 되실 듯.
2)글쓰기 페이지에서
Name 상자 (상자부분에 사용자가 이름을 직접쓰는 란)
박스부분을 한줄글상자(나모웹에디터로 표현합니다.)로 표현을 하면 상자가 좀 크게 나오는데..
크기조절을 현재글쓰기 페이지에서 보이는 것처럼 작게 나오게 하려면 어떻게 해야 하나요...
나모에서 한줄글상자를 삽입한 다음, 속성 대화상자에서,
[스타일] 버튼을 누르고, [테두리] 탭에서 모양을 groove로 설정해 보세요..
3) 글쓰기부분에 보면 내용쓰는(contents)란에 글을 쓰면 쓸때는 줄바꿈이 되는데 목록으로 갔다가 작성글을 보면 줄바꿈없이 내용일 나오는데요..
어떻게 해야 하나요..
줄바꿈은 nl2br 함수를 사용합니다.
DB에서 추출한 값이 $array[memo]라고 한다면,
$array[memo] = nl2br($array[memo]); 와 같이 해주면 됩니다.
엔터가 입력된 곳을 <br> 태그로 바꿔주는 역할을 합니다.
4) 글 작성 날짜와 시간이 이상하게 나옵니다
mysql 테이블에서 date int(11) not null,
그리고...글 목록부분에
while ($array=mysql_fetch_array($result))
{
$date = date("Y/m/d", $array[date]);
echo "~~~~~~
이렇게 해 놨는데오 안되더라구요...
답변부탁드립니다.
어떻게 이상하게 나오는지 알아야할 것 같은데요...
그 결과값을 봐야 원인을 찾을 수 있습니다.
원하시는 답변이 제대로 되었는지 모르겠네요.
감사합니다.

댓글 4
고민했던 문제들이 풀려서 너무 좋아요...
그리고..4번째 질문이요....
결과값이 1056508236나오거나 1970으로 나옵니다...
하다가 다시 안되는 부분이 생겨서요..
1)질문, 답변게시판처럼...
검색할경우 검색되어진 결과물에 검색단어의 글자들이 두껍게 나오게 하려면 어떻게 해야 하는지요..
글 리스트를 보여주는 부분, 즉 제 강좌에서는
while ($array=mysql_fetch_array($result)) {
이렇게 시작되는 부분. 이 while 문 안에서 다음과 같은 코드를 추가하면 됩니다.
if($src_value != '') { // 검색어가 있을 경우
$src_pattern = "/$src_value/"; // 검색어 패턴 지정
if($src_name=="name") $array[name] = preg_replace($src_pattern, "<font color=FF001E style=background-color:FFF000;>$src_value</font>", $array[name]); // 이름 검색일 경우 검색어에 해당되는 부분의 글자색과 배경색을 바꿈
if($src_name=="subject") $array[subject] = preg_replace($src_pattern, "<font color=FF001E style=background-color:FFF000;>$src_value</font>", $array[subject]); // 제목 검색일 경우
}
preg_replace 함수를 사용해서 특정 단어를 치환하는 역할을 합니다. 자~알 보시면 이해가 되실 듯.
이렇게 해서 결과물이 좋았습니다.
근데 검색되어진 결과물리스트를 클릭하여 내용을 보려고 하면
내용물이 전혀 안보이거든요..
예를 들어 '제목으로 [목요일]'을 검색하면
검색링크주소가
target=_blank>http://localhost/board_1/view_form.php?subject=이런...벌써..<font%20color=FF001E%20style=background-color:FFF000;>목요일</font>이네..
이렇게 되서 내용이 안보이게 됩니다.
어떻게 해야 하나요...
결과가 1056508236 로 나올 때가 있다고 했는데, 이 숫자는 2003/06/25 AM 11:30:36 을 의미하는 숫자입니다.
원래 DB에 이 숫자가 들어가 있는 것이고, 이것을
$date = date("Y/m/d", $array[date]); 이렇게 해서
echo "$date" 하면, 2003/06/25가 출력되어야 합니다.
테스트 결과 분명히 그렇게 됩니다.
테스트 프로그램을 한번 만들어봤습니다.
테스트 페이지
한번 테스트해보세요...
그리고 검색어의 색을 바꿨는데 링크값이 위의 내용처럼 바뀐 것은 제가 잘 이해를 못하겠습니다. 그렇게 될 리가 없거든요. 아마도 소스의 다른 부분에서 오류가 있는 것 같습니다. 다시 한번 소스 전체를 확인해 보세요.
글자를 굵게 표시하려면,
preg_replace($src_pattern, <b>"$src_value"</b>, $array[name])
이렇게 하시면 됩니다...
문제가 해결됐습니다.
좋은 하루 되세요....^^