Einzelnen Beitrag anzeigen
  #1  
Alt 05.07.2020, 18:59:11
Benutzerbild von Darelius
Darelius Darelius ist offline
Anfänger
 
Registriert seit: Apr 2008
Ort: Lübeck
Alter: 49
Beiträge: 61
Datenbank - Abfrage und Auslesen

So, leider bin ich nicht mehr so fit in datenbanken nach mehreren Jahren kompletter Pause :(

Ich habe folgendes "Problem":

Ich habe 2 Datenbanken, in der einen sind Sonnensysteme mit ein paar Daten, die löese ich aus mit
PHP-Code:
$sysdata=mysqli_query($db_connect,"SELECT system_id, sys_suns_amount, sys_mass, sys_grav, sys_luminosity FROM system"); 
Dann soll er er Pro Sonnensystem seine Arbeit machen (Planeten erstellen etc) mit:
PHP-Code:
while ($s=mysqli_fetch_row($sysdata))
{
$sysID=$s[0];
$syssunamount=$s[1];

Soweit "kein" Problem, nun geht es los:
Die zweite Datenbank mit Sonnen.
Jede Sonne hat eine eigene sun_id und eine system_id, da es Systeme mit mehreren Sonnen gibt.

Die Option, jedesmal auf die Datenbank zuzugreifen und die Sonnen pro System auslesen, ist einfach, aber bei 32k Systemen dauert das ewig. (und das werden evtl später bis zu 1M Systeme oder mehr...)

Also wollte ich die Sonnen auslegen, wie die Systeme, auch kein Problem.
PHP-Code:
$Sundata=mysqli_query($db_connect,"SELECT sun_id, system_id, sun_size, sun_distance FROM suns"); 
Aber, wie bekomme ich nun die exakten Daten in der While-Schleife aus der $Sundata"?

Muss ich dann noch eine weitere While-schleife machen dafür, die dann Pro System alle Sonnen durchsucht?

Momentan sind für mich (nach meinen Kenntnissen) folgende Optionen möglich:
1. Pro System ein DB-Zugriff für Sonnen (klappt, dauert aber zu lange)
2. Pro System eine While-schleife, die alle Sonnen absucht (dauert acuh echt lange, sind ja mehr Sonnen, als Systeme...)
3. VOR der While-Schleife die Daten auswerten und in Variablen speichern als Array (das wäre dann quasi $SunData[$SystemID]=(daten, diew gebraucht werden)
4. Bei ERstellung der Sonnen die Daten auswerten und einen neuen Eintrag in die System-Datenbank machen (was vermutlich das einfachste wäre).
5. Ich hoffte, daß es eine Option gibt, aus der $SunData geziehiehl mit der System-ID die Datten entnehmen zu können (das wäre das einfachste).
Genau HIER brauche ich hilfe, geht das?


...DX
__________________
Darelius, Keeper of the Elements
Mit Zitat antworten