2016-04-17 9 views
0

私はいくつかのテーブルを持つデータベースを持っています。私は単一のテーブルからIDを照会することができます。私がしたいことは、これらのIDを使用して別のテーブルIDを照会し、これらの新しいIDを使用して最終テーブルのフィールドを照会することです。ここで私は現在やっているものです:PHP他のテーブルのIDからMySQLテーブルをクエリする

をここで、私はIDの最初のセットを取得する方法である:

$returnedPost = mysqli_query($con, "SELECT Region_ID FROM Region WHERE RegionName='" . $queryVar . "'"); 

function resultToArray($result) { 
    $rows = array(); 
    while ($row = $result->fetch_assoc()) { 
     $rows[] = $row; 
    } 
    return $rows; 
} 
$rows = resultToArray($returnedPost); 
//$rows[x]['Region_ID'];//returns Region_ID 1...n 

私はIDの新しいセットを照会できるようにする$rowsでIDを使用したいのですが

$newTbl = mysqli_query($con, "SELECT Location_ID FROM Location WHERE Region_ID=" . $rows[$x]['Region_ID']); 
$rows2 = resultToArray($newTbl); 
$finalTbl = mysqli_query($con, "SELECT Field1, Field2 FROM Posts WHERE Location_ID=" . $rows2[$x]['Location_ID']); 

誰かがこれをどのように達成できるか教えてください。ありがとう。

+0

http://stackoverflow.com/a/23641033/1745672' – Mihai

+0

あなたがテーブル構造を提供することができ、サンプルのような多分何かを得るためにINNERは1つのクエリでJOINを使用することができますデータと望ましい結果? – fusion3k

+0

あなたは結合でこれを行うことができるはずですか? –

答えて

1

あなたは、このデータ、この

SELECT P.Field1,P.Field2 
FROM Region R 
INNER JOIN Location L ON R.Region_ID = L.Region_ID 
INNER JOIN Posts P ON L.Location_ID = P.Location_ID 
WHERE R.RegionName = Your_Region_QueryVar 
関連する問題