我很难弄清楚这个...
我有两张桌子……ticket_winners 和门票
在ticket_winners表中,用户名/个人资料信息...
票证表是这些用户针对一个用户 ID 拥有的所有票证,此表中每个用户可能有 10 多张票证。
问题:当每个用户的表门票超过 1 行时,如何循环数据的第二次迭代
function pullTickets() {
$sql = $this->mysql->retrieve("SELECT * FROM ticket_winners ORDER BY id DESC LIMIT 5");
$sql2 = $this->mysql->retrieve("SELECT id, userId, ticketId FROM tickets ORDER BY id ASC LIMIT 5");
while($row = mysql_fetch_array($sql)) {
$results[$row['id']]['user'] = $row['userId'];
while($row2 = mysql_fetch_array($sql2)) {
if($results[$row['id']]['user'] == $row2['userId']) {
$results[$row['id']]['tickets'][$row2['id']] = $row2['ticketId'];
} else {
}
}
}
return $results;
}
PHP页面示例:工作正常
$data = $obj->pullTickets();
foreach($data as $user) {
echo $user['username'];
foreach($data['ticket'] as $ticket) {
echo $ticket['ticketId'];
}
}
数组现在的样子:
[1] => Array
(
[batch] => 1
[userId] => 200
[userName] => Craig
[tickets] => Array
(
[1] => GH7JNm72hN
[2] => JudM3rT3is
[3] => KiLPoXCmDF
)
)
[2] => Array
(
[batch] => 1
[userId] => 100
[userName] => Hewbie
needs to continue looping
)
门票表没有像 [1] 数组中那样在每个用户中循环。它跳过所有其他用户的票。