Tach!
Grund: ich benötige ein einziges array mit den Daten für meine jqgrid-table (jquery-plugin zum tabellen erstellen) Wenn ich jetzt den ungünstigen query mit den subselects so lasse, so habe ich zumindest die daten sicher die ich fürs erste benötige , also alle Daten aus der motherPlan, aus breederInfo und aus bornType. Weiter habe ich in dem $row ( aus $result = $mysqli->query("SELECT .....) und $row = mysqli_fetch_array($result_1,MYSQLI_ASSOC)) auch die nicht korrekten felder stehen auch wenn sie leer oder falsch sind, ich habe zumindest schonmal ein fertiges assoziatives array
Du greifst einfach schreibend auf die hinzuzufügenden Felder zu und tust so, als ob sie vorhanden sind. Dabei entstehen sie so, als wenn sie gleich bei der ersten Query mitgeneriert worden wären. Da du ja keinen Eintrag aus dem bereits vorhandenen halbfertigen Array auslässt, entstehen auch nicht mal volle und mal halbe Einträge. Du musst lediglich darauf achten, auf dem originalen Array zu arbeiten und nicht nur eine Kopie der Einträge des ersten Arrays zu beschreiben. Aber das musst du auch beachten, wenn du die durch die überflüssigen Subquerys bereits vorhandenen Einträge ändern willst.
Beim anschliessenden schleifendurchlauf bei denen die Tabellen images und informations abgefragt werden muss ich nur noch dieses array also $row['imageTitle'] = $newrow['imageTitle']; füllen
Kein Unterschied zu nicht vorhandenen Feldern.
Wenn ich nur die ersten beiden left-joins mit einbeziehe, so müsste ich später das array erweitern wohl mit $row[$datenfeldname_aus_information_oder_images] = $value;
Das kommt aufs selbe raus, ob du das Feld mit einem Variableninhalt ansprichst oder einem String-Literal.
Das würde aus meiner Sicht nur dann nicht gehen, wenn es tatsächlich passieren könnte das die alle Daten falsch wären also die Daten aus der linken Tabelle und die Daten aus den beiden ersten normalen Left-Joins.... alle anderen Daten die aus informations und images stammen werden später bei dieser Methode eh überschrieben
Es gäbe nur dann ein Problem, wenn die Querys 2 und 3 keine Daten zur motherPlanId finden. In dem Fall musst du die zusätzlichen Feldeinträge mit einem Stringliteral ansprechen oder du nimmst die Liste der Felder aus den Metadaten zum Request, anstatt die Namen aus den Datensatz-Keys selbst zu nehmen.
dedlfix.