게시판에서 다른 게시판의 wr_id(아이디)로 wr_subject(제목)을 가져오려고 합니다.

게시판에서 다른 게시판의 wr_id(아이디)로 wr_subject(제목)을 가져오려고 합니다.

QA

게시판에서 다른 게시판의 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을 여기서는 숫자로넣었지만 변수로 넣어도 되겠고 다양하게 활용하면 되겠네요.

애드프로님 답변 감사합니다. 말씀하신 변수문제는 아니긴해도 답변을 주셔서 하나씩 문제를 점검하다보니 해결이 되네요 

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

회원로그인

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