php - 如何使用数据库中的两条不同记录?

标签 php mysql

我正在运行查询以从数据库获取结果。然后将结果保存在数组中。我想知道如何使用数组中的这些结果在单个查询中从数据库中获取更多结果。或者我必须使用多个查询?

   $query2="SELECT officeName FROM office 
WHERE parentOfficeID='$parent'";

$result2=mysqli_query($connect,$query2); 
if(mysqli_num_rows($result2) != 0)
{
$results= array();
 while ($row2 = mysqli_fetch_assoc($result2))
      {
           $results[]=$row2['officeName'];
      }
}

$results 数组保存结果。我想单独使用 officeName 值。有什么办法可以使用单个查询吗?或者我必须处理每个值?

最佳答案

嗨,如果我理解你的问题,那么首先你想要获取一些 officeName 并将它们存储在数组中,然后想要基于该 officeName 获取一些其他信息。你可以用这个

<?php 
$db = new mysqli('localhost','root','','databasename');
$result = mysqli_query($db,"SELECT officeName FROM office WHERE parentOfficeID='$parent'") or die(mysqli_error($db));
$officeName = array();
while($row = mysqli_fetch_assoc($result)){          
$officeName[] = $row['officeName'];//store your office name in an array
}        
$officeName= join("', '", $officeName);//The join() function returns a string from the elements of an array. It is an alias of the implode() function.
$sql = "SELECT * FROM office WHERE officeName IN ('$officeName')";// query with IN condition
$result1 = mysqli_query($db,$sql) or die(mysqli_error($db));
while($row1 = mysqli_fetch_assoc($result1)){
echo "<pre>";print_r($row1);
}

有关 join() 的更多信息。请阅读http://www.w3schools.com/php/func_string_join.asp

对于 mysqli IN 条件,请阅读 http://www.mysqltutorial.org/sql-in.aspx

关于php - 如何使用数据库中的两条不同记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38508471/

相关文章:

javascript - phpMyAdmin 发生致命 Javascript 错误

php - 根据唯一列值打印 <li> 列表

javascript - 如何在每次路由更改时在 angularjs 中添加一些加载消息

mysql - 如何通过单个 SQL 查询检索同一个数据库表中的 "common"条记录?

mysql - 为什么 SQLyog 返回 MySQL 查询结果的速度比我的 Delphi 程序快 10 倍?

php - Wordpress 查询运行两次

PHP 检查对其他服务器的请求是否正在运行

php - 连接2个不同的列,然后在mysql中搜索并匹配

mysql - 将筛选报告中的多行/记录插入到另一个表中

带别名的 MySQL select 语句失败,未找到列