게시판에서 다른 게시판의 wr_id(아이디)로 wr_subject(제목)을 가져오려고 합니다.
본문
게시판에서 다른 게시판의 wr_id(아이디)로 wr_subject(제목)을 가져오려고 합니다.
다른 게시판의 wr_id를 기준으로 해서 글 제목(wr_subject)을 가져오려고 하는 부분인데요.
아무것도 안나와서 몇일째 실패를 하고 있어 도움을 구해보려고 합니다.
전 원래 델파이, 라자루스 개발자라 그누보드나 웹개발에는 약한 편입니다. php, 그누보드 웹데이타베이스 는 짜집기만해봤지 관계형 데이타베이스를 해본적이 없는데 관련해서 개발할 일이 생겨 첨해보는지라
많이 해매고 있습니다. 고수분들 한수 지도 부탁드려봅니다.
아래 소스인데요.
$bo_table = 'cam_test';//게시판명
$write_table = "g5_write_{$bo_table}";
$jun_check = $view['wr_5']; //코드를 가지고오도록 where에 넣을 코드를 본게시판값에서 넣어준다.
$sql = " SELECT * from $write_table where wr_id='$jun_check'"; //wr_id 를 코드로 해서 wr_subject를 불러오기
$result = sql_query($sql);
$jun_arr = array(); //결과값들을 한줄씩 담을 배열 선언
for($a=0; $junrow=sql_fetch_array($result); $a++){
$jun_arr[$a] = $junrow; // $jun_arr 배열에 0번지부터 .. 있는대로 담음
}
<tr><td>고사장</td><td><?php echo $jun_arr['wr_subject']?></td>
</tr>
위에 소스와 같이 하면 들어가는게 아닌지..
제가 모르겠는건
$sql = " SELECT * from $write_table where wr_id='$jun_check'"; //wr_id 를 코드로 해서 wr_subject를 불러
위소스에서 wr_id 를 이렇게 입력하는게 맞는지.. 변
또 '$jun_check' 이런식으로 변수값을 넣고 '로 양쪽넣어주는게 맞는지..
또
<tr><td>고사장</td><td><?php echo $jun_arr['wr_subject']?></td>
</tr>
위 소스에서 $jun_arr['wr_subject'] 이렇게 하는게 맞는지 아니면 $jun_arr[0]['wr_subject'] 이렇게 해야하는지
감을 못잡고 있습니다.
작은 힌트라도 좋습니다. 도움좀 부탁드려요 몇일째 이러고 있으니 참 힘드네요 ㅠㅠ
답변 3
정확히 말하자면 응용하고 계신 소스는
약간 원 소스에서 변형된것 같지만
특정 게시글의 제목을 가져오는게 아닌
특정 게시판의 모든 제목을 배열로 담는 소스에 가깝습니다.
그리고 추가로 덧붙이자면
기본 그누보드 함수의 경우 어디에서 선언하느냐에 따라 다르며
php 는 나중에 선언한 변수로 덮어씌워지는 언어라서 가급적 중복호출을 하지 말라는 뜻입니다.
쿼리를 어디서 선언하느냐에 따라 다릅니다.
그리고 그누보드 고유 변수에 직접 접근이 필요하지 않는이상
$bo_table 이나 $write_table 은 가급적 중첩선언 안하는것이 좋습니다.
<?php
$adp_bo_table = 'sample'; // 찾을 게시판 id
$adp_wr_id = '15'; // 찾을 wr_id
$adp_title = sql_fetch("SELECT * FROM g5_write_$adp_bo_table WHERE wr_id = '$adp_wr_id'"); // 게시판 제목을 찾는 쿼리
echo $adp_title['wr_subject']; // 쿼리(게시판제목) 출력
?>
해결되었습니다.
<tr><td>고사장</td><td><?php echo $jun_arr[0]['wr_subject']?></td>
</tr>
문제는 위 소스에서처럼 배열$jun_arr[0]['wr_subject'] 이런식으로 써야되는거네요.
0을 여기서는 숫자로넣었지만 변수로 넣어도 되겠고 다양하게 활용하면 되겠네요.
애드프로님 답변 감사합니다. 말씀하신 변수문제는 아니긴해도 답변을 주셔서 하나씩 문제를 점검하다보니 해결이 되네요