Hier ist eine Funktion, die ich schreibe:foreach und While-Schleifen ein Array mit Daten duplizieren
function createDeck($deckId) {
global $dbConnection;
$queryCreateDeck = "SELECT c.card_name, dc.qty
FROM decks AS d
JOIN decks_to_cards AS dc
ON d.deck_id = dc.deck_id
JOIN cards AS c
ON dc.card_id = c.card_id
WHERE d.deck_id = {$deckId}
ORDER BY c.card_name";
$createDeck = mysqli_query($dbConnection, $queryCreateDeck);
$deckArray = array();
$deckFinal = array();
while ($deck = mysqli_fetch_assoc($createDeck)) {
$deckArray[] = $deck;
};
foreach ($deckArray["card_name"] as $card) {
while($deckArray["qty"] > 0) {
array_push($deckFinal, $deckArray["card_name"]);
};
};
print_r($deckArray);
};
Dies ist, was das Array $deckArray
ausgibt:
Array (
[0] => Array (
[card_name] => Archangel Avacyn
[qty] => 4
)
[1] => Array (
[card_name] => Canopy Vista
[qty] => 4
)
[2] => Array (
[card_name] => Dromoka's Command
[qty] => 4
)
[3] => Array (
[card_name] => Evolutionary Leap
[qty] => 2
)
4] => Array (
[card_name] => Forest
[qty] => 9
)
[5] => Array (
[card_name] => Fortified Village
[qty] => 4
)
[6] => Array (
[card_name] => Gideon, Ally of Zendikar
[qty] => 4
)
[7] => Array (
[card_name] => Hangarback Walker
[qty] => 4
)
[8] => Array (
[card_name] => Nissa, Voice of Zendikar
[qty] => 4
)
[9] => Array (
[card_name] => Oath of Nissa
[qty] => 4
)
[10] => Array (
[card_name] => Plains
[qty] => 7
)
[11] => Array (
[card_name] => Secure the Wastes
[qty] => 2
)
[12] => Array (
[card_name] => Sylvan Advocate
[qty] => 4
)
[13] => Array (
[card_name] => Tragic Arrogance
[qty] => 2
)
[14] => Array (
[card_name] => Westvale Abbey
[qty] => 2
)
)
Ich versuche, eine zu schaffen Array mit einer Instanz jedes card_name für die Menge in diesem Array.
Es wirft einen Fehler an den foreach und nachfolgenden while-Schleifen, die mir sagen, dass der Index nicht korrekt ist.
Aber wenn ich das Array anschaue, scheint es, dass dies die Indizes sind. Jede Hilfe würde sehr geschätzt werden, ich habe mein Gehirn darüber zerbrochen.
Meine ersten Gedanken sind das, weil irgendwie der Schlüssel => Wert nicht geblieben ist und es nicht mehr ein assoziatives Array ist. Nicht sicher, obwohl. – user296868
warum nicht '' 'in der Abfrage selbst? – Ghost
würden Sie bitte Ihre gewünschte Ausgabe hinzufügen –