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

주문내역에서 회원 여분필드 mb_1 검색하면 한개만 나옵니다 다 나오게 부탁드립니다. 채택완료

사랑을기억하며 6년 전 조회 2,617

지난번 질답으로 도움받아서

orderlist.php 주문내역 파일에 회원 여유필드 mb_1이 출력되도록 사용하고 있습니다.

 

이번에는 orderlist.php 주문내역에서 추가된 mb_1이 검색되도록 하고 싶습니다.

질문답변 검색해서 다른 회원님 글을 참조해서 닉네임 검사하는 소스를 변형해서 넣었습니다.

 

 

 

$sql_search = ""; if ($search != "") {     if ($sel_field != "") {

if ($sel_field == 'mb_1'){         $res = sql_fetch("select mb_id from {$g5['member_table']} where mb_1 like '%".$search."%'");         $where[] = " mb_id = '{$res['mb_id']}' ";       }else{                $where[] = " $sel_field like '%$search%' ";          }     }

    if ($save_search != $search) {         $page = 1;     } }

검색

 

이렇게 넣었는데... 검색하면

나오긴 나오는데 딱 1개만 나옵니다.

같은 값을 가진 회원이 수십명이 있는데 딱 한사람만 검색되어 나옵니다.

 

같은 값을 가진 회원이 검색창이 다 나올 수 있도록 봐 주셨으면 합니다.

감사합니다.

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

답변 2개

채택된 답변
+20 포인트
티로그
6년 전

$sql_common = " from {$g5['g5_shop_order_table']} $sql_search "; 을  $sql_common = " from {$g5['g5_shop_order_table']} T1 left join {$g5['member_table']} T2 on T1.mb_id= T2.mb_id $sql_search "; 로 수정하시고 

이런식으로 하면 되지 않을까요?

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

답변에 대한 댓글 1개

사랑을기억하며
6년 전
정말 감사합니다. 이제 한개가 아닌 전체 검색대상이 나와서 아주 잘 됩니다.
정말 감사합니다.

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

$where이 결국 $sql로 묶어서 선언하셨겠죠?

그러면 아래와 같이 option을 for문으로 돌리셔야 배열이 나오겠죠.

</p>

<p><?php</p>

<p>$result = sql_query($sql);

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

?></p>

<p><option value="mb_1" <?php echo get_selected($sel_field, 'mb_1'); ?>>친구</option></p>

<p><?php } ?></p>

<p>

 

질문하신 의도가 이게 맞는지 모르겠지만..

혹시 for문을 돌리셨는데도 그러하다면 $sql에 limit가 설정되어 있는지도 확인해보세요.

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

답변에 대한 댓글 1개

사랑을기억하며
6년 전
답변 감사합니다. 잘 해결되어서 정말 감사합니다.

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

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

로그인