2 개의 테이블이 있습니다. 각 테이블의 고유 ID는 두 테이블에서 동일합니다. php에서 두 테이블의 데이터를 함께 결합하는 방법은 무엇입니까? 나는 일반적으로 데이터를 가져 오는 경우MySQL에서 PHP의 내부 조인을 사용합니다.
나는이처럼 수행은 모든 혼합 점점 별도의 테이블에서 데이터를 끌어와하지에 관해서는
$get_board_array = mysql_query("SELECT * FROM posts WHERE user_id_to = '$id' ");
while($posts = mysql_fetch_array($get_board_array))
{
$post_id = $get_post['post_id'];
$html_output .= "<p>".$post_id."</p>";
}
, 나는이 같은 일을 생각하고 있었는데
:$get_arrayA = mysql_query("SELECT * FROM tableA WHERE age = '36' ");
while($dataA = mysql_fetch_array($get_arrayA))
{
$dataA_id = $dataA['id'];
$dataA_firstName = $dataA['FirstName'];
foreach($dataA_id)
{
$get_arrayB = mysql_query("SELECT * FROM tableB where id='".$dataA_id."'");
while($dataB = mysql_fetch_array($get_arrayB))
{
$dataB_lastName = $dataB['LastName'];
$html_output .= "<p>".$dataA_firstName.$dataB_lastName"</p>";
echo $html_output;
}
}
}
아니면 이것은 너무 이상한 일일까요?
나는 내부 조인을 사용하여 SQL 내에서이를 수행하는 방법을 알고 있지만 PHP와 출력 HTML에서이를 어떻게 수행합니까? 와일드 카드 (*) 문자를 사용 그릇된 방향으로 이끌다의 때문에
SELECT a.id,a.FirstName,b.LastName
FROM tableA a
JOIN tableB b ON b.id = a.id
WHERE a.age = '36'
중첩 된 쿼리가 잘못되었습니다. 대신 [MySQL JOINs] (http://mysqljoin.com/)을보십시오. 생각해보십시오. 외부 쿼리에서 반환 된 모든 행에 대해 쿼리를 실행합니다. 'JOIN'은 단지 하나의 질의 일 뿐이지 만 이것은 엄청나게 느립니다. – Bojangles
진술 :'$ dataA_id = $ dataA [ 'id'];'는 배열을 만드는 대신 변수의 값을 업데이트하는 것일뿐입니다 – hjpotter92
SQL에서하는 방법을 알고 있다면 "PHP ". 당신은'*'을 선택해서는 안되며, 루프에서 질의를 중첩해서는 안됩니다. 가능한 한 많은 데이터를 앞에 당깁니다. – MetalFrog