전혀 다른테이블의 값을 가져와서 출력하는 방법 채택완료
Member 테이블
name 필드에 "홍길동,김감자.."
Info 테이블은
name 필드 "홍길동", age 필드 "30세", job 필드 "공무원"
name 필드 "김감자", age 필드 "40세", job 필드 "무직" ...
</p>
<p>$sql = "select * from member";</p>
<p>$result = sql_query($sql);</p>
<p> </p>
<p>foreach($result as $row){</p>
<p> $sql2 = "select * from info where name= '{$row['name']}'";</p>
<p> $result2 = sql_fetch($sql2);</p>
<p>이름: $row['name'];</p>
<p>나이 : $result2['age'];</p>
<p>}</p>
<p>
이렇게 하니까 너무 속도가 느려지는데 좋은 방법이 없을까요?
답변 5개
사용하는 필드만 명시하면 좋습니다.
name에 인덱스 걸어주면 좋습니다.
</p>
<p>$sql = "SELECT M.name, I.age FROM member AS M LEFT JOIN info AS I ON M.name=I.name";
$result = sql_query($sql);
foreach ($result as $row) {
echo '이름 : ', $row['name'], '
';
echo '나이 : ', $row['age'], '
';
}</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
추가 피해자 방지 https://sir.kr/conflictconsultation/245" rel="nofollow noreferrer noopener" target="_blank">https://sir.kr/conflictconsultation/245
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
$sql = "select * from member a inner join info b where a.name=b.name"; </code><code>$result = sql_query($sql); foreach($result as $row){ ... }</code></pre> <p><code>어차피 지금 방식이 동명이인은 따로 생각안하시는거 같아서
위 코드 처럼 조인해서 하면 조금더 빨라질거라 봅니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인