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

균이 님 엑셀 출력 코드 한번 더 봐 주실래요? 채택완료

검풍 4년 전 조회 2,653

디비명 : 1번. i_tester < 회원접수 자료(아래 이미지) 2번. order_list < 주문내역 3번. pay_transaction < 결제내역

목록 자료에 (2번=3번) 매칭해서 2번 필드(pay_method) 값 출력

 

이미지 엑셀 출력 자료

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

-----/------ 아래 균이 님 추가 답변  WHERE     A.can_number like '%$canno%' "; < 추출하면 조건에 맞게 모두 출력 됩니다.

order_list 필드명: can_number i_tester 필드명: can_no < 수험번호 매칭합니다.

 

알려주신 아래 내용은 

if($rrow['can_number'] != $row1['can_no']) continue; < 이렇게 처리하면 내용이 출력이 안됨

----------/------------ $rsql = "SELECT *  FROM    order_list A RIGHT JOIN pay_transaction B ON     A.oid = B.moid WHERE     A.can_number like '%$canno%' ";

$rresult = mysql_query($rsql); $rrow = mysql_fetch_array($rresult);

 

$pay_method = $rrow['pay_method']; ------------/----------

 

이미지는 엑셀 출력 코드 입니다.

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

답변 1개

채택된 답변
+20 포인트
4년 전

if($rrow['can_number'] != $row1['can_no']) continue; < 이렇게 처리하면 내용이 출력이 안됨

<----while($row~~~<---여기 $rowl 아닌가요?

if($rrow['can_number'] != $rowl['can_no']) continue; <--$row1 이 아니라 $rowl 이라야 됩니다

이렇게 해도 안된다면 아래처럼해서 무엇이 나오는지 test.txt를 열어서 확인하세요

 

$fp = fopen("test.txt", "a+");

while($row~~~~~){

 fwrite($fp, "{$rrow['can_number']} ==> {$rowl['can_no']} \n");

if($rrow['can_number'] != $rowl['can_no']) continue;

 

187행 추가 fclose($fp);

 

그런데 php코드를 해석할 줄 모른다면 이런 처리를 어떻게 한다고 그럴까요?

지난반 답변에도

row1인지 rowl인지 이미지로 봐서 불명확한데 rowl 같군요 <--분명 이렇게 답변했는데

$row1['can_no'] 이렇게 해보고 안된다면 $rowl['can_no'] 이렇게 바꾸어서 해볼 줄 모르나요?

 

위쪽 join에서도 여러명이 나온다면 저렇게 해서는 $pay_method 하나가 전체에 나올 수밖에 없습니다

상황 설명을 구체적으로 상세하게 했으면 답변을 어렵지않게 받을 수 있는 질문 같은데....

질문하는 방법을 모르는 것인지 php, mysql을 모르는 것인지 알 수가 없습니다

 

 

 

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

답변에 대한 댓글 2개

검풍
4년 전
if($rrow['can_number'] != $row1['can_no']) continue;
코딩은 알려주신데로 했구요.
문의시 오타입니다. 미안합니다.

오늘 수정 후 위 이미지 처럼 동일하며, test.txt 파일 내용은

==>
==>
==>

이런식으로 출력 됩니다.
수험번호가 매칭이 안되는 것 같습니다.
검풍
4년 전
감사합니다.
덕분에 원인을 알고 잘 처리했습니다.
주말 동안에 신경써 주셔서 감사드립니다.

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

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

로그인