Wert aus jeder Zeile zusammenzählen

Hallo NG

ich habe folgenden DB aufbau (txt DB keine MySQL) ;-)

blabla|125
blabu|14
huha|239

wie kann ich nun aus jeder zeile die zahl zusammenzählen lassen?

$array = file("$datenbank");

foreach($array as $wert){
$temp = explode('|',$wert);
$gesamt = "$temp[1]";
}
echo "$gesamt";

jedoch wenn ich nun $gesammt aufrufe zeit es mit nur die Zahl des Letzten DB
eintrages an. also 239

danke für eure hilfe
Stephan Roos [ Sa, 04 März 2006 17:28 ] [ ID #1214754 ]

Re: Wert aus jeder Zeile zusammenzählen

"Stephan Roos" <info [at] stephan-roos.ch> schrieb:

>Hallo NG
>
>ich habe folgenden DB aufbau (txt DB keine MySQL) ;-)
>
>blabla|125
>blabu|14
>huha|239
>
>wie kann ich nun aus jeder zeile die zahl zusammenzählen lassen?
>
>$array = file("$datenbank");
>
>foreach($array as $wert){
> $temp = explode('|',$wert);
> $gesamt = "$temp[1]";
>}
>echo "$gesamt";
>
>jedoch wenn ich nun $gesammt aufrufe zeit es mit nur die Zahl des Letzten DB
>eintrages an. also 239

Wo in deinem Skript wird denn überhaupt etwas zusammengezählt?

Felix
Felix Holdener [ Sa, 04 März 2006 17:50 ] [ ID #1214755 ]

Re: Wert aus jeder Zeile zusammenzählen

eben noch nirgens, das will ich ja erreichen, dass alle zahlen addiert
werden.

gruss Stephan


"Felix Holdener" <tomail [at] tiscali.ch> schrieb im Newsbeitrag
news:97hj02tg3pls64vhdapspk1mp4e2hnddkv [at] 4ax.com...
> "Stephan Roos" <info [at] stephan-roos.ch> schrieb:
>
>>Hallo NG
>>
>>ich habe folgenden DB aufbau (txt DB keine MySQL) ;-)
>>
>>blabla|125
>>blabu|14
>>huha|239
>>
>>wie kann ich nun aus jeder zeile die zahl zusammenzählen lassen?
>>
>>$array = file("$datenbank");
>>
>>foreach($array as $wert){
>> $temp = explode('|',$wert);
>> $gesamt = "$temp[1]";
>>}
>>echo "$gesamt";
>>
>>jedoch wenn ich nun $gesammt aufrufe zeit es mit nur die Zahl des Letzten
>>DB
>>eintrages an. also 239
>
> Wo in deinem Skript wird denn überhaupt etwas zusammengezählt?
>
> Felix
Stephan Roos [ Sa, 04 März 2006 18:07 ] [ ID #1214756 ]

Re: Wert aus jeder Zeile zusammenzählen

habe die lösung soeben bekommen

$gesamt += "$temp[1]";

mfg

Stephan

"Stephan Roos" <info [at] stephan-roos.ch> schrieb im Newsbeitrag
news:4409c03c$1_2 [at] news.tiscalinet.ch...
> Hallo NG
>
> ich habe folgenden DB aufbau (txt DB keine MySQL) ;-)
>
> blabla|125
> blabu|14
> huha|239
>
> wie kann ich nun aus jeder zeile die zahl zusammenzählen lassen?
>
> $array = file("$datenbank");
>
> foreach($array as $wert){
> $temp = explode('|',$wert);
> $gesamt = "$temp[1]";
> }
> echo "$gesamt";
>
> jedoch wenn ich nun $gesammt aufrufe zeit es mit nur die Zahl des Letzten
> DB eintrages an. also 239
>
> danke für eure hilfe
>
>
Stephan Roos [ Sa, 04 März 2006 18:10 ] [ ID #1214757 ]

Re: Wert aus jeder Zeile zusammenzählen

Stephan Roos schrieb:

> $array = file("$datenbank");
^ ^
Was sollen diese Stringbegrenzer?

> foreach($array as $wert){
> $temp = explode('|',$wert);
> $gesamt = "$temp[1]";
> }
> echo "$gesamt";
>
> jedoch wenn ich nun $gesammt aufrufe zeit es mit nur die Zahl des Letzten DB
> eintrages an. also 239

Wenn du $gesammt aufrufst, solltest du eine Notice bekommen ;-)

$file = file($datenbank);

$sum = 0;
foreach ($file as $line) {
$temp = explode('|', $line);
$sum+= $temp[1];
}
echo $sum;

Du solltest dich noch mal mit den Kapiteln Strings und Variablen des
Manuals befassen. Außerdem mit den Operatoren.

MfG
Niels

--
| http://www.kolleg.de · Das Portal der Kollegs in Deutschland |
| http://www.bsds.de · BSDS Braczek Software- und DatenSysteme |
| Webdesign · Webhosting · E-Commerce · Mambo Content Management |
------------------------------------------------------------ ----
Niels Braczek [ Sa, 04 März 2006 18:11 ] [ ID #1214758 ]

Re: Wert aus jeder Zeile zusammenzählen

Stephan Roos schrieb:

> habe die lösung soeben bekommen
>
> $gesamt += "$temp[1]";
^ ^
Diese Anführungszeichen haben da immer noch nichts zu suchen.

MfG
Niels

--
| http://www.kolleg.de · Das Portal der Kollegs in Deutschland |
| http://www.bsds.de · BSDS Braczek Software- und DatenSysteme |
| Webdesign · Webhosting · E-Commerce · Mambo Content Management |
------------------------------------------------------------ ----
Niels Braczek [ Sa, 04 März 2006 18:19 ] [ ID #1214759 ]

Re: Wert aus jeder Zeile zusammenzählen

hallo

hab gerade deinen Komentar gelesen,

das aufzählen hatt prima funktioniert, und nun bekomme ich wirklich eine
Notice. warum?

Stephan



"Stephan Roos" <info [at] stephan-roos.ch> schrieb im Newsbeitrag
news:4409c03c$1_2 [at] news.tiscalinet.ch...
> Hallo NG
>
> ich habe folgenden DB aufbau (txt DB keine MySQL) ;-)
>
> blabla|125
> blabu|14
> huha|239
>
> wie kann ich nun aus jeder zeile die zahl zusammenzählen lassen?
>
> $array = file("$datenbank");
>
> foreach($array as $wert){
> $temp = explode('|',$wert);
> $gesamt = "$temp[1]";
> }
> echo "$gesamt";
>
> jedoch wenn ich nun $gesammt aufrufe zeit es mit nur die Zahl des Letzten
> DB eintrages an. also 239
>
> danke für eure hilfe
>
>
Stephan Roos [ Sa, 04 März 2006 19:25 ] [ ID #1214761 ]

Re: Wert aus jeder Zeile zusammenzählen

On Sat, 4 Mar 2006 19:25:13 +0100, Stephan Roos wrote:

> das aufzählen hatt prima funktioniert, und nun bekomme ich wirklich eine
> Notice. warum?

"Aufzählen"? "Addieren" meinst du, oder? Einigermaßen korrekte Begriffe
helfen ungemein wenn es um technische Sachverhalte geht.

Die Antwort auf deine Frage ist jetzt relativ simpel. Du verwendest ein
Konstrukt der Art
$summe += $wert;
oder in lang
$summe = $summe + $wert;

Was passiert dort? Zu dem Wert, der in $summe steht wird der Wert aus $wert
addiert. Wenn das Programm bei seinem Durchlauf jetzt zum ersten Mal auf
diese Stelle trifft, dann hast du es vor ein Problem gestellt. Es soll zu
dem Wert in $summe etwas addieren. $summe gibt es aber noch gar nicht.
Folglich geht PHP her, überlegt einen Moment und belegt $summe dann von
selber mit dem Wert 0 und teilt dir das mit einer Notice mit. Bei den
nächsten Durchläufen passt dann alles, da $summe ja im ersten
Schleifendurchlauf definiert wurde.

Wie bekommst du das jetzt weg? Du musst PHP nur einmal sagen, wie denn der
Startwert für $summe sein soll. Also setzt du vor die Schleife ein
$summe = 0;
und alles ist in Ordnung.


Deine Zitierweise ist übrigens hier recht ungewöhnlich und unpraktisch.
Lies mal in der FAQ folgenden Beitrag:

1.15. Was ist TOFU? Wieso finden die Anderen meine Artikel schwer zu lesen?
http://www.php-faq.de/q/q-newsgroup-tofu.html


Gruß,
Matthias
Matthias Esken [ Sa, 04 März 2006 20:34 ] [ ID #1214762 ]

Re: Wert aus jeder Zeile zusammenzählen

Stephan Roos wrote:
> das aufzählen hatt prima funktioniert, und nun bekomme ich wirklich e=
ine
> Notice. warum?

Mangels Kristallkugel ist das recht schwer zu beantworten ...

für solche Fragen ist zumindest der Text der Warnung durchaus hilfreich=
,
und auch der Code um die in der Meldung angegebene Zeilennummer herum
kann nicht schaden ...


--
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com

http://www.mysql.com/support/
Hartmut Holzgraefe [ So, 05 März 2006 00:18 ] [ ID #1214765 ]
PHP » de.comp.lang.php.datenbanken » Wert aus jeder Zeile zusammenzählen

Vorheriges Thema: [FAQ/2006-03-05] Loesungen fuer deine PHP-Probleme
Nächstes Thema: SQLite: Maximal 100 Zeilen zulassen