【发布时间】:2014-08-09 11:39:41
【问题描述】:
我有一些代码(如下),它获取两个数组,一个以逗号分隔的已声明产品的用户列表和一个相应的以逗号分隔的用户声明时间列表。然后它将 user_id 与 users 表匹配,并在多个数组中获取用户信息。我想将相应的 claim_time 附加到每个输出的数组中,但不知道该怎么做。
$q = "SELECT claimed_by, claimed_time FROM post WHERE post_id='$post_id' AND accepted_user='' AND user_id='$id'";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
if (mysqli_num_rows($r) == 1) {
$postrow = mysqli_fetch_array($r,MYSQLI_ASSOC);
$arr = explode(',', $postrow['claimed_by']);
$arr2 = explode(',', $postrow['claimed_time']);
$users = array();
$r = mysqli_query($dbc,"SELECT * FROM users
WHERE id in (".implode(',',$arr).")");
$count=0;
while($row = $r->fetch_assoc()){
$multiple_row_result[] = $row;
}
echo json_encode($multiple_row_result);//result
我尝试将以下内容放入 while 循环中,但没有成功:
$multiple_row_result['claimed_time']=$arr2
我在想一些类似于 foreach 语句的东西可能会起作用,但不能让任何东西起作用。
谢谢。
【问题讨论】:
标签: php arrays foreach while-loop