Sto avendo difficoltà a capire questo fuori ...Come organizzo due tabelle mysql in un unico grande array multidimensionale?
Ho due tavoli ... ticket_winners, e biglietti
nelle ticket_winners tabella, nomi utente/informazioni del profilo ...
il biglietti tabella è tutti i ticket che questi utenti hanno per un ID utente, ci potrebbero essere più di 10 biglietti per ogni utente in questa tabella.
Domanda: Come posso ciclo attraverso la seconda iterazione dei dati quando la tabella biglietti ha più di 1 riga per ogni utente
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;
}
pagina PHP esempio: funziona bene
$data = $obj->pullTickets();
foreach($data as $user) {
echo $user['username'];
foreach($data['ticket'] as $ticket) {
echo $ticket['ticketId'];
}
}
L'aspetto della matrice ora:
[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
)
la tabella dei ticket non viene eseguita in loop su ciascun utente come nell'array [1]. Salta tutti i biglietti degli altri utenti.
Beh un join sql sembra un buon inizio ... –
sì, ci ho provato.quando emetto i dati utilizzando un join, vengono visualizzate le righe duplicate, poiché la tabella dei ticket ha più voci per lo stesso utente. – Krunk
Grazie Tony! – Krunk