Thema: Array auswerten... aber Wie?

G
Gunkel 15.05.2015 14:21
Hallo, ich würde gern die von der API ausgegebenen Daten auswerten und anschließend in meiner Datenbank ablegen. so...

nun habe ich ja die API nach dem "monatsverdienst" abgefragt und habe nun einige Daten mehrfach drin stehen.

hier als Beispiel...
[PHP]Array(
[0] => Array
(
[from] => 1420128767
[from_w3c] => 2015-01-01T16:12:47+00:00
[to] => 1420131599
[to_w3c] => 2015-01-01T16:59:59+00:00
[value] => 225.600000
)

[1] => Array
(
[from] => 1420128767
[from_w3c] => 2015-01-01T16:12:47+00:00
[to] => 1420131599
[to_w3c] => 2015-01-01T16:59:59+00:00
[value] => 0.800000
)

[2] => Array
(
[from] => 1420131602
[from_w3c] => 2015-01-01T17:00:02+00:00
[to] => 1420135199
[to_w3c] => 2015-01-01T17:59:59+00:00
[value] => 388.800000
)

[3] => Array
(
[from] => 1420135215
[from_w3c] => 2015-01-01T18:00:15+00:00
[to] => 1420138799
[to_w3c] => 2015-01-01T18:59:59+00:00
[value] => 128.000000
)

[4] => Array
(
[from] => 1420141387
[from_w3c] => 2015-01-01T19:43:07+00:00
[to] => 1420142399
[to_w3c] => 2015-01-01T19:59:59+00:00
[value] => 94.400000
)
[/PHP]

so es sind mehrere Arrays die ja nun in einem array angegeben sind.

mit den Folgenden Code habe ich mich bereits ausprobiert. Die Tabelle wird mit dem Gewünschten Inhalten auch angegeben.
[PHP]
// https://www.ebesucher.de/api/visitor_exchange.json/account/earnings/1420066800-1422745199
// wird in diesem falle abgerufen. Enspricht den Kompletten Januar 2015
echo "<table border='1' width='800px'>\n";
foreach($data_result as $row) {
$row['from_w3c'] = substr($row['from_w3c'], 0, -15);
echo " <tr>\n";
echo " <td>".$row['from_w3c']."</td><td>".$row['value']."</td>\n";
echo " </tr>\n";
}
echo "</table>";[/PHP]

so nun aber ist ja allein vom 01.01.2015 schon 9 Einträge hier enthalten. Gibt es ne einfachhere Methode den Tagesverdienst abzufragen?

Habe das erst mit den Tagespunkteabfrage gemacht aber da wurde die API anscheind Böse mit mir und hat dann jede weitere anfrage abgeblockt. Daher nun meine frage, wie ich das optimal lösen kann?

Danke schonmal

I
IBMarktHandel 25.05.2015 23:11
Das geht ganz einfach du überweist mir einen Fuffi :D und ich code das :)

Jeff 26.05.2015 12:09
Eine Möglichkeit wäre die Werte vorher in einem Array zu summieren:

[PHP]
$summen = array();
foreach($data_result as $row) {
$datum = explode("T", $row['from_w3c']);
$datum = $datum[0];
if (!isset($summen[$datum])) $summen[$datum] = 0;
$summen[$datum] += $row['value'];
}

echo "<table border='1' width='800px'>\n";
foreach($summen as $date => $value) {
echo " <tr>\n";
echo " <td>".htmlspecialchars($date)."</td><td>".htmlspecialchars($value)."</td>\n";
echo " </tr>\n";
}
echo "</table>";
[/PHP]

klammlotto24 29.05.2015 00:11
Meinst du das erstellen eines Reports als Tagespunkteabfrage? Die Darf ja nur 1mal die Stunde genutzt werden und der Report muss dann ja zeitversetzt abgeholt werden was wiederum öfters geschehen darf....

G
Gunkel 29.05.2015 20:28
IBMarktHandel;241235 wrote:Das geht ganz einfach du überweist mir einen Fuffi :D und ich code das :)
Für solche Beiträge sollte man die Todesstrafe einführen. Etwas Seriöser hätte deine Antwort schon ausfallen können. Daher sage ich dir hier nun einmal NEIN DANKE !!!
klammlotto24;241336 wrote:Meinst du das erstellen eines Reports als Tagespunkteabfrage? Die Darf ja nur 1mal die Stunde genutzt werden und der Report muss dann ja zeitversetzt abgeholt werden was wiederum öfters geschehen darf....
Naja will nur die Daten abfragen und dann in die Datenbank bei mir schreiben. Letzt endlich will ich das Stündlich machen. Da brauch ich ja nur die Abfrage für den täglichen verdienst aller surfbars abfragen. Aber für die zurück liegenden Tage wäre dieser schritt doch etwas zu gewagt. Allein die begrenzten abfragen wegen schon... :D
Jeff;241256 wrote:Eine Möglichkeit wäre die Werte vorher in einem Array zu summieren:

[PHP]
$summen = array();
foreach($data_result as $row) {
$datum = explode("T", $row['from_w3c']);
$datum = $datum[0];
if (!isset($summen[$datum])) $summen[$datum] = 0;
$summen[$datum] += $row['value'];
}

echo "<table border='1' width='800px'>\n";
foreach($summen as $date => $value) {
echo " <tr>\n";
echo " <td>".htmlspecialchars($date)."</td><td>".htmlspecialchars($value)."</td>\n";
echo " </tr>\n";
}
echo "</table>";
[/PHP]
ich Bedanke mich mit einem Großem Dicken DANKEEEE ... mein ziel was ich damit verfolgt hatte ist fast erfüllt :D nun das ganze an die datenbank anbinden und als Crontab anlegn...

suppi :)