【发布时间】:2014-11-23 11:30:32
【问题描述】:
我在 PHP 中有一个表单,它接受两个值:server_id 和 user_id(可以由',' 分隔多个)。我从表中检索一些数据并将它们存储为数组。使用相同的server_id 和user_id,我想从另一个表中检索更多信息,但将它们存储到同一个数组中。
这是我目前所拥有的。
//Data from PHP form stored in array
$inputData = Array ( [server_id] => 10
[user_id] => Array ( [0] => 111[1] => 222) )
//Existing array storing data retrieved from persons table
$userData =
Array
(
[0] => Array
(
[user_id] => 111
[server_id] => 10
[user_name] => Harry Pottter
[user_age] => 18 )
[1] => Array
(
[user_id] => 222
[server_id] => 10
[user_name] => Hermione
[user_age] => 18 )
)
//retrieving additional data from user_contact table
$sql = "SELECT user_phone, user_address FROM user_contact
WHERE user_id = ? AND server_id = ?";
foreach($user_id as $user)
{
$statement= $DB->link->prepare($sql);
$statement->bind_param("si", $server_id, $user);
$statement->execute();
if($resultSet = $statement->get_result())
{
while($row = $resultSet->fetch_assoc())
{
userData[$key]['user_phone'] = $row['user_phone'];
userData[$key]['user_address'] = $row['user_address'];
}
}
}
【问题讨论】:
-
所以你想在 foreach 中进行另一个查询?
-
如果
$key = count($userData)(你使用$,对于userData,对),那么你应该做的,从我所看到的。 -
@Ghost - 我需要用完全不同的配置查询另一个数据库,所以是的,我需要循环它,除非有任何其他方法可以做到这一点,无论哪种方式我都可以。
-
@JeremyMiller - 是的,userData 应该有一个 $。
-
@Cryssie 好吧,您可以只创建一个查询连接来提取其他信息,很可能其他表已连接对吗?
标签: php mysql associative-array keyvaluepair