Copy
$sql = "
select
mb_name, mb_9, mb_id
from (select * from {$g5['member_table']}
order by mb_9, mb_id) products_sorted,
(select @pv := '{$main_name}') initialisation
where find_in_set(mb_9, @pv)
and length(@pv := concat(@pv, ',', mb_id))
";
$result = sql_query($sql, true);
while ($row = sql_fetch_array($result)) {
print_r2($row);
mysql 5.x 버전이라 재귀쿼리문을 사용하지 못합니다.
{$main_name} 의 아이디로부터 mb_9가 연결되어 있는 모든 하위리스트를 뽑아내는 소스인데..
10개 라인에 총100명이 있다고 했을때
9개 라인의 90명은 잘 불러오는데 1개 라인에 10명만 불러오지 못합니다.
해당 회원을 삭제, 수정, 재 등록 해봐도... 계속 똑같은 라인만 불러오지 못하는데...
제가 알지 못하는 부분이 있는지 궁금합니다.
불러오지 못하는 라인을 전부 하나하나 체크해봐도.. 상위가 {$main_name}로 연결이 되어 있는데..
애초에 에러가 나면 모르겠는데.. 에러도 안나고 잘 불러오는데..
특정 라인만 못불러오는게... 미치겠습니다. ㅜㅜ
답변 3개 / 댓글 7개
채택된 답변
+20 포인트
Copy
$sql = "
select mb_name, mb_9, mb_id
from {$g5['member_table']}
where instr(mb_9, '{$main_name}')
";
답변에 대한 댓글 3개
{$main_name} 이 ID 인지 Name 인지 모르겠습니다.
어려운 쿼리를 쓰지 않아도 됩니다. (가능하다면 쉬운 쿼리를 쓰는 것이 좋습니다.)
Copy
$sql = "
select mb_name, mb_9, mb_id
from {$g5['member_table']}
where mb_9 in (select mb_9 from {$g5['member_table']} where mb_id = '{$main_name}')
";
or
Copy
$sql = "
select mb_name, mb_9, mb_id
from {$g5['member_table']}
where mb_9 in (select mb_9 from {$g5['member_table']} where mb_name = '{$main_name}')
";
답변에 대한 댓글 4개
답변을 작성하려면 로그인이 필요합니다.

그런데 이번엔 더 많은 라인을 못불러오네요 ㅠㅠ