/ / Pseudocode zum Abrufen von MySQL-Daten mit assoziativen PHP-Arrays - PHP, MySQL, Arrays

Pseudocode zum Abrufen von MySQL-Daten mit assoziativen PHP-Arrays - PHP, MySQL, Arrays

Ich habe zwei MySQL-Tabellen, Produkte und prodGroups. Ich muss die folgenden Daten in diesem Format eines assoziativen Arrays abrufen:

Array ( [0] => Product Group 1 => Item 1
=> Item 2
=> Item 3
[1] => Product Group 2 => Item 4
=> Item 5
=> Item 6
[2] => Product Group 3 => Item 7
=> Item 8
=> Item 9 )

Das obige wurde frei so offensichtlich geschrieben, dass "s nicht korrektes Format von print_r für ein assoziatives Array ist, aber hoffentlich bekommst du die Idee.

Ich habe Schwierigkeiten zu verstehen, um zu findenElemente aus einer MySQL-Tabelle, deren ProdGroup-Wert mit dem Namen der Produktgruppe 1/2/3 übereinstimmt. Ich möchte, dass die Elemente, die zu einer bestimmten Produktgruppe gehören, einen Teil des rechtmäßigen übergeordneten Arrays ausmachen.

Ich bin nicht der beste Erklärer, hoffe, was ich geschrieben habe, reicht aus, um meine Frage zu verdeutlichen. In der Zusammenfassung, wenn Sie noch verloren sind, brauche ich Artikel 1 & 2 & 3, um Teil der Produktgruppe 1 im Array zu sein.

Pseudocode wäre großartig, ich habe ein Gefühl eine Weile und foreach Schleife ist erforderlich, ich bin einfach total für seine Struktur verloren.

Antworten:

1 für die Antwort № 1

Sie können dies auf zwei Arten lösen:

1) Mit verschachtelten Abfragen. Bei kleinen Datenmengen: Warum nicht?

while($row = getNextProductGroup())
$row->items = getItemsForGroup($row->ProductGroupId);

2) Wenn Sie viele Daten haben, wird dies kostspielig sein, so dass Sie einen klügeren Weg brauchen. Verbinden Sie sie einfach und wählen Sie sie in PHP aus:

$productGroups = [];
while($row = getNextProductGroupAndItem()) {
if(!isset($productGroups[$row->ProductGroupId])) {
$row->items = [];
$productGroups[$row->ProductGroupId] = $row;
}
$productGroups[$row->ProductGroupId]->items[] = $row;
}