簡體   English   中英

如何在新的選擇查詢中使用存儲的數組中的鍵值

[英]How To Use Key Value in Stored Array in New Select Query

我正在PHP和MySQL中創建和列出成員資格目錄。 我有三個表-公司,聯系人和分支。 公司有聯系人,有些(但不是全部)公司有分支機構,而分支機構也有聯系人。 我在第一個查詢中使用LEFT JOIN將聯系人與他們各自的公司聯系起來,並將結果加載到一個數組中,該數組使用以下代碼工作:

// Retrieve all the data from the "company" table
$query = "SELECT * FROM company LEFT JOIN contact ON company.company_id = contact.company_id WHERE comp_county = 'BERNALILLO' ORDER BY company.comp_name, contact.cont_rank"; 

$result = mysql_query($query)
or die(mysql_error());

// Build the $company_array
$company_array = array();
while($row = mysql_fetch_assoc($result)) {
    $company_array[] = $row;
}

現在,我試圖弄清楚如何運行第二個查詢,該查詢需要從我的分支表中選擇所有company_id與存儲在上述數組$ company_array中的company_id匹配的分支。 然后,我想將第二個查詢的結果存儲到名為$ branch_array的第二個數組中。 我已經試過了:

// Retrieve all the matching data from the "branch" table
foreach($company_array as $row) {
$query2 = "SELECT * FROM branch LEFT JOIN contact ON branch.branch_id = contact.branch_id WHERE branch.company_id = '".$row['company_id']."' ORDER BY branch.br_name, contact.cont_rank";
$result2 = mysql_query($query2)
or die(mysql_error());
}
// Build the $branch_array
$branch_array = array();
while($row2 = mysql_fetch_assoc($result2)) {
    $branch_array[] = $row2;
}

但這似乎不起作用...誰能給我一個如何做這個例子的例子嗎? 該查詢需要運行,以便檢查$ company_array中每個不同的company_id分支表中是否匹配-希望這個問題有意義。 謝謝。

我認為您的while應該在您的foreach語句內,以便您的$branch_array可以填充所有company_id值的結果,而不僅僅是最后一個:

foreach($company_array as $row) {
$query2 = "SELECT * FROM branch LEFT JOIN contact ON branch.branch_id = contact.branch_id WHERE branch.company_id = '".$row['company_id']."' ORDER BY branch.br_name, contact.cont_rank";
$result2 = mysql_query($query2)
or die(mysql_error());

// Build the $branch_array
    $branch_array = array();
    while($row2 = mysql_fetch_assoc($result2)) {
        $branch_array[] = $row2;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM