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-Key: 230081

Url: https://administrator.de/contentid/230081

Printed on: April 25, 2024 at 20:04 o'clock

Member: Arano
Arano Feb 16, 2014 at 17:21:09 (UTC)
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
Member: FunkerVogt
FunkerVogt Feb 19, 2014 at 08:33:55 (UTC)
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++;
            }
    }