다른 테이블 필드의 특정 데이터 추출

다른 테이블 필드의 특정 데이터 추출

QA

다른 테이블 필드의 특정 데이터 추출

본문

게시판 item1 (g5_write_item1) 테이블의

wr_id = '1'을 참조해서

wr_1에 배열로 쪼개져 들어 있는 데이터들 '서울|경기|강원|.......'들 가운데, 첫번째 것('서울')을

 

게시판 item2의 view 페이지에 표시하는 방법을 알고 싶습니다.

 

 

 

이 질문에 댓글 쓰기 :

답변 9

<?php

$value = array();
$wr4 = sql_query(" SELECT  wr_4  FROM g5_write_item2 where wr_id = 1;");
for ($i=0; $row=sql_fetch_array($wr4); $i++) {
    $value[$i] = explode("|", $row['wr_4']); 

    echo $value[$i][0];
}
//print_r($value);
echo $value[0];
?>

아래 소스를 참고해보세요.


$value = array();
$wr1 = sql_query(" SELECT * FROM g5_write_item1 ");
for ($i=0; $row=sql_fetch_array($wr1); $i++) {
    $value[$i] = explode("|", $row);
}
print_r($value);

 

g5_write_item1의 값을 불러오고

불러온 값을 $value의 배열에 담아내는 소스입니다.

 

 

 

답변 감사합니다. 한데 조언대로 해보니 이렇게 경고가 뿌려지네요.
Warning: explode() expects parameter 2 to be string, array given in F:\www\broadportn\skin\board\item2\view.skin.php on line 212
Array ( [0] => )

item1에서 wr_id = '1'인 곳의 wr_4의 배열값들 가운데서 첫번째 배열값만 추출해서 표시해줄수 있도록 좀 도와주세요.

참고하세요
value = array();
$wr1 = sql_query(" SELECT 'wr_4' FROM g5_write_item1 where wr_id = 1");
for ($i=0; $row=sql_fetch_array($wr1); $i++) {
    $value[$i] = explode("|", $row['wr_4']);  //item1에서 wr_id = '1'인 곳의 wr_4의 배열값들
}
//print_r($value);

echo $value[0];

echo $value[0][0];

for ($i=0; $row=sql_fetch_array($wr4); $i++) {

    echo $row['wr_4'];  // 확인해 보세요
    $value[$i] = explode("|", $row['wr_4']);  //item1에서 wr_id = '1'인 곳의 wr_4의 배열값들
}

<?php
$value = array();
$wr4 = sql_query(" SELECT 'wr_4' FROM g5_write_item2 where wr_id = 1");
for ($i=0; $row=sql_fetch_array($wr4); $i++) {
    echo $row['wr_4'];  // 확인해 보세요
    $value[$i] = explode("|", $row['wr_4']);  //item1에서 wr_id = '1'인 곳의 wr_4의 배열값들
}
?>



<?php
$value = array();
$wr4 = sql_query(" SELECT 'wr_4' FROM g5_write_item2 where wr_id = 1");
for ($i=0; $row=sql_fetch_array($wr4); $i++) {
    $value[$i] = explode("|", $row['wr_4']);  //item1에서 wr_id = '1'인 곳의 wr_4의 배열값들
    echo $row['wr_4'];  // 확인해 보세요
}
?>

이 두 가지 다 wr_4 가 뿌려집니다.ㅜㅜ

wr_1에 배열로 쪼개져 들어 있는 데이터들 '서울|경기|강원|.......'들 가운데, 첫번째 것('서울')을

 

자료가 wr_1 인가요..   wr_4 인가요

SELECT 'wr_4' FROM g5_write_item2 where wr_id = 1;

결과 좀 보여주세요...

SELECT  wr_4  FROM g5_write_item2 where wr_id = 1;

이렇게 해보시겠어요...

이제는 배열이 전부 나옵니다.
서울|경기|강원|충북|충남|전북|전남|경북|경남|제주|부산|대구|인천|광주|대전|울산|세종
이제 여기서 서울을 표시할수 있도록 도와주세요.

그런데 아래와 같이 php/sql 문을 실행해보니
<?php

$value = array();
$wr4 = sql_query(" SELECT  wr_4  FROM g5_write_item2 where wr_id = 1;");
for ($i=0; $row=sql_fetch_array($wr4); $i++) {
    $value[$i] = explode("|", $row4);  //item1에서 wr_id = '1'인 곳의 wr_4의 배열값들
}
//print_r($value);
echo $value[0];
?>

view에서는 Array 로 뿌려집니다.
echo $value[0];를 echo $value[0][0]; 으로 해보니 아무것도 뿌려주지 않고요.

보내주신 조언들 감사합니다.

현재 item2 테이블 wr_id = 1 줄의  wr_4에 담겨있는 데이터는 '서울|경기|강원|......'입니다.

조언들에 따라 아래와 같이 스크립트를 주고,

<?php

$value = array();
$wr4 = sql_query(" SELECT 'wr_4' FROM g5_write_item2 where wr_id = 1");
for ($i=0; $row=sql_fetch_array($wr4); $i++) {
    $value[$i] = explode("|", $row['wr_4']);  //item1에서 wr_id = '1'인 곳의 wr_4의 배열값들
}
echo "\$value -> ";
print_r($value);
echo "<br>\$value[0] -> ";
echo $value[0];
?>

로 해본 결과,

아래와 같이 뿌려지네요.

 

$value -> Array ( [0] => Array ( [0] => wr_4 ) )
$value[0] -> Array

 

'서울' 값이 표시되야 하는데 어디에 문제가 있는지요?

 

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

회원로그인

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