Seite 1 von 2

mit Werten einer Funktion rechnen??

Verfasst: 15.10.2003 16:44
von Fraenky
Hallo,
Ich habe mehrere Funktionen, die einen Zahlwert zurückliefern. Wie kann ich diese addieren??

zB:
$funkt1=3;
$funkt2=0;
$funkt3=2;

wobei die Ziffer schon für die ausgabe der Funktion steht:
$funkt=ausgabe();

$anzahl=$funkt1+$funkt2+$funkt3;

ausgegeben wird aber 302! ich habe es schon mit integer probiert, klappt aber auch nicht..

Kann mir jemand weiterhelfen??

THX!

MfG
Fraenky

Verfasst: 15.10.2003 16:46
von PhilippK
Was ergibt sich bei

Code: Alles auswählen

$anzahl = funkt1() + funkt2() + fukt3();
Gruß, Philipp

Verfasst: 15.10.2003 17:08
von Pyramide
Bist du sicher, daß deine Funktion 3 zurückgibt und nicht "3"?

Verfasst: 15.10.2003 17:10
von Fraenky
genau das selbe, dass hab ich nämlich gleich am Anfang geschriebn, und danach erst in variabeln gepackt.

Zu sage n ist noch, dass die Funktionen jeweils Daten aus verschieden tabellen rauslesen (Es sind aber Ziffern.) Ich könnte ja das gleich schreibn, was ich bei den Funktionen gemacht habe, nämlich immer schön aus der DB auslese und dann rechnen (das geht, habs woanders gemacht, weils nicht anders ging), aber wozu habe ich dann Funktionen, wenn ich mit diesen Werten nichts anfangen kann, ausser sie auszugenben?? :-?

naja hoffe das hilft..

tschö

MfG
Fraenky

Verfasst: 15.10.2003 17:12
von Pyramide
Versuch mal:

Code: Alles auswählen

$anzahl = intval($a) + intval($b) + ...

Verfasst: 15.10.2003 17:27
von Fraenky
geht nicht..*verdammt*

Also ich weiß nur, wenn ich die Funktion ausgebe, kommt dort ne Ziffer, obs ein String oder eine integer ist weiß ich nicht.

die Ziffer der Funktionen kommt jedenfalls von
mysql_num_rows($result); will ja wissen, wie viele Datensätze ich hab..


MfG
Fraenky

Verfasst: 15.10.2003 18:06
von Fraenky
so mit o, ich hab das jetzt alles in einer großen Funktion zusammengefasst (ja mit 6 DB Anfragen und dann alles zusammenzählen and so on.. :-? )

Sieht zwar schrecklich aus..aber naja hauptsache es funzt erstma...

Wer noch gute Tipps hat oder die Antwort weiß, soll sie trotzdem hinschreiben!! Dann geht nämlich meine hyperFunktion zur ne Schlankheitskur.. :wink:

Tschö

MfG
Fraenky

Verfasst: 15.10.2003 18:08
von PhilippK
Wir reden hier schon über PHP? Weil eigentlich beschwert sich PHP, wenn du versuchst, Zeichenketten mit 'nem + zu verketten.
Versuch mal bitte testweise einen Punkt (.) statt dem Plus (+) zu verwenden. Da kommt zwar garantiert nicht das richtige Ergebnis raus, aber evtl. reagiert eine der Funktionen falsch.

Gruß, Philipp

Verfasst: 15.10.2003 18:39
von Fraenky
wie jetzt?? Also bei mir hat es sich noch nie beschwert.

meine jetztig(hyper~)Funktion holt sich die Daten so:

Global $link;

$tabellenname_s="suchen";
[...]
[...]

$sql_s="SELECT ID FROM $tabellenname_s";
[...]
[...]

$result_s=mysql_query($sql_s, $link);
[...]
[...]

$anz_t_s=mysql_num_rows($result_s);
[...]
[...]

$anz_t=$anz_t_s+[...]+[...];

[...]=jeweils mit _b und _t

$anz_t hat jetzt genau das ergebnis was ich wollte..

Und das gleich nochmal (dann sind das ja mehr als 6 DB anfragen..) bloß mit anderen tabellen+Werten..
Und dann kommt auch die Zahl raus, die ich brauch.

danach addiere ich beide und hab das gewünschte Ergebnis.
Bloß, dass das mit den Funktionen nicht funzt:
$anz_t=$funkt()1+[...]


naja ich werd das mal ausprobieren, muss jezt aber los..*verdammt*

Tschö

MfG
Fraenky

Verfasst: 15.10.2003 18:47
von Pyramide
Wenn du nur die Anzahl der Datensätze brauchst, kannst du das übrigens viel performanter machen, wenn du SELECT count(*) FROM... schreibst