다시 한번 MySQL 잘 아시는분.... 도와주세요. (__) 정보
다시 한번 MySQL 잘 아시는분.... 도와주세요. (__)
본문
http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=1774
위 페이지의 코드를 그대로 적용하면 현재 사용하는 최신글 스킨이 제대로 표현이 안되더군요.
현재 사용하고 있는 스킨은 첫이미지, 카타고리명, 제목을 추출하고 있습니다.
이미지는 엑박 나머지는 출력이 안되길래 모든 필드를 추출하고자 위 페이지의 소스에서
이 부분을....
$row2 = sql_fetch(" select wr_subject,wr_id from $tmp_write_table where wr_id = '$row[wr_id]' ");
이렇게 바꿔봤습니다.
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' ");
그랬더니 카타고리명은 출력이 되더군요. ㅡ_ㅡa 게시물이 중복되게 출력되고 난장판이더군요;;
그래서 기존의 latest 소스를 참고하여
아래 코드를....
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
{
$tmp_write_table = $g4[write_prefix] . $row[bo_table];
if ($row[wr_id] == $row[wr_parent]) // 원글
{
//전광판이기에 글제목과 wr_id만 뽑았습니다. 일반 최근게시물로 쓰시려면 필드 추가로 뽑아오시면 되구요..
$row2 = sql_fetch(" select wr_subject,wr_id from $tmp_write_table where wr_id = '$row[wr_id]' ");
$list[$i] = $row2;
$list[$i][bo_table] = $row[bo_table];
$list[$i][href] = "$g4[bbs_path]/board.php?bo_table=$row[bo_table]&wr_id=$row2[wr_id]";
$list[$i][wr_subject] = cut_str($row2[wr_subject], $subject_len, "…");
}
}
이렇게 바꿔봤습니다.
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
{
$tmp_write_table = $g4[write_prefix] . $row[bo_table];
$sql = sql_fetch(" select * from $tmp_write_table where wr_is_comment = 0");
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$i] = get_list($row, $latest_skin_path, $subject_len);
}
}
그랬더니..
Array
1064 : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array' at line 1
error file : /index.php
위와 같은 에러가 출력이 됩니다.
카페24 호스팅이며 MySQL 4.0.22 입니다.
아래 질문에서 위 링크된 페이지의 코드를 사용하기에는 버전문제가 없다고 하셨습니다.
도대체 저 코드를 어떻게 수정을 해야 모든 필드를 추출 할 수 있는지 궁금합니다.
저에게 일용할 가르침을 주세요.. (__)
위 페이지의 코드를 그대로 적용하면 현재 사용하는 최신글 스킨이 제대로 표현이 안되더군요.
현재 사용하고 있는 스킨은 첫이미지, 카타고리명, 제목을 추출하고 있습니다.
이미지는 엑박 나머지는 출력이 안되길래 모든 필드를 추출하고자 위 페이지의 소스에서
이 부분을....
$row2 = sql_fetch(" select wr_subject,wr_id from $tmp_write_table where wr_id = '$row[wr_id]' ");
이렇게 바꿔봤습니다.
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' ");
그랬더니 카타고리명은 출력이 되더군요. ㅡ_ㅡa 게시물이 중복되게 출력되고 난장판이더군요;;
그래서 기존의 latest 소스를 참고하여
아래 코드를....
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
{
$tmp_write_table = $g4[write_prefix] . $row[bo_table];
if ($row[wr_id] == $row[wr_parent]) // 원글
{
//전광판이기에 글제목과 wr_id만 뽑았습니다. 일반 최근게시물로 쓰시려면 필드 추가로 뽑아오시면 되구요..
$row2 = sql_fetch(" select wr_subject,wr_id from $tmp_write_table where wr_id = '$row[wr_id]' ");
$list[$i] = $row2;
$list[$i][bo_table] = $row[bo_table];
$list[$i][href] = "$g4[bbs_path]/board.php?bo_table=$row[bo_table]&wr_id=$row2[wr_id]";
$list[$i][wr_subject] = cut_str($row2[wr_subject], $subject_len, "…");
}
}
이렇게 바꿔봤습니다.
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
{
$tmp_write_table = $g4[write_prefix] . $row[bo_table];
$sql = sql_fetch(" select * from $tmp_write_table where wr_is_comment = 0");
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$i] = get_list($row, $latest_skin_path, $subject_len);
}
}
그랬더니..
Array
1064 : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array' at line 1
error file : /index.php
위와 같은 에러가 출력이 됩니다.
카페24 호스팅이며 MySQL 4.0.22 입니다.
아래 질문에서 위 링크된 페이지의 코드를 사용하기에는 버전문제가 없다고 하셨습니다.
도대체 저 코드를 어떻게 수정을 해야 모든 필드를 추출 할 수 있는지 궁금합니다.
저에게 일용할 가르침을 주세요.. (__)
댓글 전체
같은 FOR 문 안에 $row 가 두개 들어갔네요..
하단 $row를 $row2 로 바꿔보세여
하단 $row를 $row2 로 바꿔보세여
$i도 $j 로 바꾸셔요~~~~~~~~~~~~~~~~~~
가르쳐 주신대로 해봤는데 똑같은 에러가 출력 됩니다.
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
{
$tmp_write_table = $g4[write_prefix] . $row[bo_table];
if ($row[wr_id] == $row[wr_parent]) // 원글
{
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' ");
$list[$i] = get_list($row2, $board, $latest_skin_path, $subject_len);
$list[$i][bo_table] = $row[bo_table];
$list[$i][href] = "$g4[bbs_path]/board.php?bo_table=$row[bo_table]&wr_id=$row2[wr_id]";
}
}
흐음...요렇게는 안되나요?
for ($i=0; $row = sql_fetch_array($result); $i++)
{
$tmp_write_table = $g4[write_prefix] . $row[bo_table];
if ($row[wr_id] == $row[wr_parent]) // 원글
{
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' ");
$list[$i] = get_list($row2, $board, $latest_skin_path, $subject_len);
$list[$i][bo_table] = $row[bo_table];
$list[$i][href] = "$g4[bbs_path]/board.php?bo_table=$row[bo_table]&wr_id=$row2[wr_id]";
}
}
흐음...요렇게는 안되나요?
오.. 알려주신 대로 했더니 카타고리명과 제목이 표시가 되는군요!!
그런데 가장 중요한 이미지가 엑박이 뜨네요.... OTL 그래도 희망이 보이는 군요. 감사합니다.
알려주신 코드에서 $board 변수에 해당하는 값이 없어서 지웠더니 제목이 길이제한 없이 다 표시가 되더군요. 음....
따로 이미지를 추출하는 최신글 함수는 본적이.... select * from 로 다 된거 아닌가요?
흠..
그런데 가장 중요한 이미지가 엑박이 뜨네요.... OTL 그래도 희망이 보이는 군요. 감사합니다.
알려주신 코드에서 $board 변수에 해당하는 값이 없어서 지웠더니 제목이 길이제한 없이 다 표시가 되더군요. 음....
따로 이미지를 추출하는 최신글 함수는 본적이.... select * from 로 다 된거 아닌가요?
흠..
제가 좀 어깨넘어로 배운 php라 짬뽕인데~ 된다고하니 다행이네요~
흠.. 그럼..
$list[$i] = get_list($row2, $board, $latest_skin_path, $subject_len);
$list[$i][bo_table] = $row[bo_table];
밑에..
이미지를 view.skin.php에 있는걸 응용해서..
for ($i=0; $i<=count($list[$i][file]); $i++) {
if ($list[$i][file][$i][view])
echo $list[$i][file][$i][view] . "<p>";
}
안되면..
$list[$i][file]["count"] = 0;
$sql = " select * from $g4[board_file_table] where bo_table = '$list[$i][bo_table] ' and wr_id = '$row[wr_id]' order by bf_no ";
$result = sql_query($sql);
while ($row3 = sql_fetch_array($result))
{
$no = $row3[bf_no];
$list[$i][file][$no][view] = view_file_link($row3[bf_file], $row3[bf_width], $row3[bf_height], $list[$i][file][$no][content]);
$list[$i][file]["count"]++;
}
로 전체를 추출해보시는건 어떨까요?
흠.. 그럼..
$list[$i] = get_list($row2, $board, $latest_skin_path, $subject_len);
$list[$i][bo_table] = $row[bo_table];
밑에..
이미지를 view.skin.php에 있는걸 응용해서..
for ($i=0; $i<=count($list[$i][file]); $i++) {
if ($list[$i][file][$i][view])
echo $list[$i][file][$i][view] . "<p>";
}
안되면..
$list[$i][file]["count"] = 0;
$sql = " select * from $g4[board_file_table] where bo_table = '$list[$i][bo_table] ' and wr_id = '$row[wr_id]' order by bf_no ";
$result = sql_query($sql);
while ($row3 = sql_fetch_array($result))
{
$no = $row3[bf_no];
$list[$i][file][$no][view] = view_file_link($row3[bf_file], $row3[bf_width], $row3[bf_height], $list[$i][file][$no][content]);
$list[$i][file]["count"]++;
}
로 전체를 추출해보시는건 어떨까요?