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