funkervogt
Goto Top

Bitte um Eure Hilfe zu Array push oder Array merge in einem speziellen Fall

Hallo Werte Gemeinde und danke schon einmal für die Lösungsvorschläge!

Mein Problem:
Ich lese in einem Script eine Datenbank mit den Werten Zeit und Wert aus.
Mein Problem ist, dass die Werte hintereinander in ein Array $data geschrieben
werden. Was ich aber benötige ist das es die Werte mit jedem Schleifendurchlauf
an die bestehende Zeit in dem Array angefügt wird.

also Momentan:
$data = array(array("Zeit1", Wert1)array("Zeit2, Wert2)array("Zeit3, Wert3)array("Zeit4",Wert4) .-.. usw )

was ich aber benötige ist (Beispiel mit 2 Schleifendurchläufen):
$data = array(array("Zeit1", Wert1, Wert1)array("Zeit2, Wert2, Wert2).......array("Zeit48, Wert48, Wert48))
Der zweite Eintrag "Wert" in jedem Array ist aus dem zweiten Schleifendurchlauf.

hier mal das momentane Script:

for ($j = 1; $j <= $CntTAB; $j++)
    {
     unset ($TimeROW);
     unset ($ZPSROW);
     $ZPS = $teile[$j];
     $tab = "tbl_".$ZPS;  
        $query = mysql_query("SELECT time, value  FROM `$tab` WHERE date = \"$Datum\" ");  
        while($row = mysql_fetch_array($query))
            {
            $TimeROW = $row;
            $ZPSROW = $row[1];
            }
            $k = 0;
            while ($k < count($TimeROW))
            {
            $data = array($TimeROW[$k], $ZPSROW[$k]);
            $k = $k+2;
            }

    }

Ich hab keinen Plan wie ich das realisieren könnte!
Für Lösungsansätze wäre ich Euch sehr dankbar


Gruss

Uwe

Content-ID: 230081

Url: https://administrator.de/forum/bitte-um-eure-hilfe-zu-array-push-oder-array-merge-in-einem-speziellen-fall-230081.html

Ausgedruckt am: 23.12.2024 um 12:12 Uhr

Arano
Arano 16.02.2014 um 18:21:09 Uhr
Goto Top
Guten Abend.

Im Prinziep musst du dir den Zeitwert merken und beim Verarbeiten des Queryergebnis vergleichtst du den aktuellen Zeitwert mit dem gemerkten und entscheidest daran, ob du ein temporäres Array weiter mit den Werten füllst oder ob das tmp-Array deinem "Ergebnis-Array angefügt wird, ein neues leeres tmp-Array erstellst und dir den neuen Zeitwert merkst.

Aber sag mal, wäre es nicht besser ein assoziatives, mehrdimensionales Array zu erstellen ?
$erg = array(
    "zeit" => array(wert, wert),  
    "zeit" => array(wert, wert)  
)

Schönen Abend
~Arano
FunkerVogt
FunkerVogt 19.02.2014 um 09:33:55 Uhr
Goto Top
hab es dann so gelöst!

     $ZPS = $teile[1];
     $tab = "tbl_".$ZPS;  
        $query = mysql_query("SELECT time, value  FROM `$tab` WHERE date = \"$Datum\" ");  
        while($row = mysql_fetch_array($query))
            {
            $TimeROW = $row;
            }
            $k = 0;
            $l = 0;
            while ($k < count($TimeROW))
            {
            $data[$l] = array($TimeROW[$k]);
            $k = $k+2;
            $l++;
            }

for ($j = 1; $j <= $CntTAB; $j++)
    {
     unset ($ZPSROW);
     $ZPS = $teile[$j];
     $tab = "tbl_".$ZPS;  
        $query = mysql_query("SELECT value  FROM `$tab` WHERE date = \"$Datum\" ");  
        while($row = mysql_fetch_array($query))
            {
            $ZPSROW = $row;
            }
            $k = 0;
            $l = 0;
            while ($k < count($ZPSROW))
            {
            array_push($data[$l], $ZPSROW[$k]);
            $k = $k+2;
            $l++;
            }
    }