테스트 사이트 - 개발 중인 베타 버전입니다

디비 테이블에 자료가 없을경우 표기 방법이 있나요? 채택완료

검풍 4년 전 조회 2,181

두 테이블을 매칭해서 자료를 표기함.
1. 자료가 있으면 당연히 내용이 표기 됩니다.
2. 근데... 자료가 없을경우 "빈공간"이나 "없음"으로 하고 싶은데, 위에 값으로 동일하게 표기됩니다.

--/-

      $sql = "
        SELECT
            *
        FROM
            order_list a,
            pay_transaction b
        WHERE 
            a.oid = b.moid
        AND 
            a.can_number like '%$canno%'";

    $result = mysql_query($sql);
    $row = mysql_fetch_array($result);

--/--
    $pay_method = $row['pay_method']; 이값을 표기 할려고 합니다.

--/--

 


이럴경우 방법이 있나요?
조언 좀 부탁합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 6개

채택된 답변
+20 포인트
안뇽하세용

left join으로 쿼리문 조건뽑으세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

검풍
4년 전
답변 감사합니다.
그런데 여전히 위 이미지 동일하게 표기 됩니다.
SELECT
*
FROM
order_list a LEFT JOIN pay_transaction b
ON
a.oid = b.moid
AND
a.can_number like '%$canno%'";

댓글을 작성하려면 로그인이 필요합니다.

안뇽하세용

쿼리문에 문제는 없어보이는데

쿼리문만 뽑아서 직접 myadmin에서 쿼리문 돌려보세요

데이터가 어떤식으로 나오는지요

$sql = "
SELECT
*
FROM
order_list a LEFT JOIN pay_transaction b
ON
a.oid = b.moid
WHERE
a.can_number like '%$canno%'";

echo $sql; 해서 $sql 뽑아서 직접돌려보세요

/*
$result = mysql_query($sql);
$row = mysql_fetch_array($result);

$pay_method = $row['pay_method'];*/

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

검풍
4년 전
죄송합니다.
echo $sql; 해서 $sql 뽑아서 직접돌려보세요 < 이 부문이 이해가 안됩니다.
잘 모르겠네요
안뇽하세용
4년 전
echo $sql 로찍어서 보시면

쿼리문이 직접 화면에 출력될거잖아요?

그럼 그 쿼리문을 가지고 phpmyadmin 쓰시면

sql문을 직접 찍어보시고 셀값이 제대로나오나 확인해ㅔ보ㅓ세요
검풍
4년 전
아... 출력됩니다.
위 이미지 값"CARD" 가 $pay_method 필드값 입니다.
검풍
4년 전
아. 처음부터 설명이 잘못된 것 같습니다.
디비명
1번. i_tester < 회원접수 자료
2번. order_list < 주문내역
3번. pay_transaction < 결제내역

1번 목록 자료에 (2번=3번) 매칭해서
3번 필드(pay_method) 값만 출력합니다.

위 이미지 정소영 두명이 2번 3번 자료에는 존재하지 않습니다.
위 이미지 김윤아만 2번 3번 자료에는 존재합니다.

댓글을 작성하려면 로그인이 필요합니다.

안뇽하세용

내용없는거 맞나요?

left join 으로 걸면 moid로 걸면 null이면 null로 나올텐데요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

안뇽하세용
4년 전
우선 echo 로 쿼리문만 뽑아서 직접 myadmin에서 쿼리문 돌려보세요
검풍
4년 전
네 테이블에 내용 없습니다.
죄송합니다.
쿼리 문 좀 만들어 주시면 안되나요?
뭘해도 안됩니다.

댓글을 작성하려면 로그인이 필요합니다.

신경써 주셔서 감사합니다.

테이블-order_list

테이블-pay_transaction

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

안뇽하세용

두개의 테이블 구조 올려주세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

검풍
4년 전
이미지 첨부합니다.

댓글을 작성하려면 로그인이 필요합니다.

안뇽하세용

on a.oid = b.moid

where a.can_number like '%$canno%'";

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

검풍
4년 전
감사합니다. 동일 합니다.
$sql = "
SELECT
*
FROM
order_list a LEFT JOIN pay_transaction b
ON
a.oid = b.moid
WHERE
a.can_number like '%$canno%'";

$result = mysql_query($sql);
$row = mysql_fetch_array($result);

$pay_method = $row['pay_method'];

자세히 설명 좀 부탁 드립니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인