gpt4 book ai didi

php - 如何在新的选择查询中使用存储数组中的键值

转载 作者:行者123 更新时间:2023-11-30 23:14:34 26 4
gpt4 key购买 nike

我正在使用 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_id 匹配的所有分支:$company_array。然后我想将第二个查询的结果存储到另一个名为 $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;
}
}

关于php - 如何在新的选择查询中使用存储数组中的键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com