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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
다른 테이블 필드의 특정 데이터 추출

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

 

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

 

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

회원로그인

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