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

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

QA

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

답변 1

본문

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

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

 

이미지 엑셀 출력 자료

3554585928_1613874337.9771.jpg


위 이미지 정소영 두명이 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'];
------------/----------

 

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

3554585928_1613874367.9446.jpg

이 질문에 댓글 쓰기 :

답변 1

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을 모르는 것인지 알 수가 없습니다

 

 

 

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

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

 ==> 
 ==> 
 ==> 

이런식으로 출력 됩니다.
수험번호가 매칭이 안되는 것 같습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #php ×
전체 15,331
© SIRSOFT
현재 페이지 제일 처음으로