Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Summieren von Datenbankfeldern

Ich bin dabei all meine Touren in eine Datenbank MySql zu schreiben (www.huettentouren.at)
Nun möchte ich all meine Höhenmeter, meine Einträge, sowie meine Gesamtstunden addieren, wie geht das, habe überhaupt keine Ahnung

Dies wäre der Code für die Höhenmeter, aber der funzt nicht

<?
include("dbconfig.php");
$abfrage = "SELECT sum (hm) FROM berge";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->hm;
}


?>

Wäre super wenn mir jemand helfen könnte

Hier gehts zum Orginal Eintrag "Summieren von Datenbankfeldern" im Forum

Antworten

SELECT sum(hm) AS summe FROM berge


2.

Zitat:
alexander postete
SELECT sum(hm) AS summe FROM berge
Super funktioniert, das mit den Höhenmetern habe ich auch, aber wie zähle ich die Stunden zusammen, und auf was muss
die Datenbank eingestellt werden, Timestamp???


3.

ich habe keine ahnung von deinem datenmodell. wenn du direkt die anzahl an stunden gespeichert hast, dann tut es auch obige summation. wenn du z.b. zwei felder "start" und "ende" mit einem zeitformat hast, dann musst du eben die zeitspanne erst errechnen und darüber dann summieren.

leider kann ich nicht hellsehen, darum kann ich auch nicht mehr dazu sagen.


4.

Zitat:
alexander postete
ich habe keine ahnung von deinem datenmodell. wenn du direkt die anzahl an stunden gespeichert hast, dann tut es auch obige summation. wenn du z.b. zwei felder "start" und "ende" mit einem zeitformat hast, dann musst du eben die zeitspanne erst errechnen und darüber dann summieren.

leider kann ich nicht hellsehen, darum kann ich auch nicht mehr dazu sagen.
Ich schreibe z.B. 08:45 hinein, so ist es auch in der DB gespeichert, er zählt mir auch die Stunden zusammen, aber er rechnet mir nicht die Minuten dazu


5.

Du solltest die Stunden und Minuten getrennt voneinander speichern. Dann musst du dich nur noch hinsetzen und einen Algorithmus finden, der das gleiche macht, wie du auf dem Papier. Evtl. lässt sich das aber auch mit den Funktionen von MySQL lösen:
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html


6.

08:45 ist ja mit sicherheit auch keine zahl. die engine versucht trotzdem eine zahl draus zu machen und kommt zu dem schluss, dass bis zum : eine zahl vorliegen kann. der rest wird verworfen.

je nach mysql version hast du eine größere oder kleinere auswahl an string und time funktionen (siehe manual). eine funktion, die so ein "zeitformat" (das kein solches ist), zusammenrechnet, gibt es meines wissens nach nicht.
entweder, du wandelst diese angabe beim speichern in sekunden um und kannst dann wieder einfach summieren, oder du musst den string erst auseinandernehmen, umwandeln und dann summieren
Code:                   In Zwischenablage kopieren (nur IE)
1">

dieses vorgehen ist aber fehlerträchtiger und langsamer. in beiden fällen musst du das ergebnis eh von sekunden nach stunden:minuten umrechnen.

darum: speichere die dauer direkt in sekunden. wie du sekunden in hh:mm umrechnest, wurde schon oft genug beantwortet => suchfunktion


7.

Ich möchte die Summe der Gesammt Einträge addieren und addiert ausgeben, ist das richtig, was ich hier gemacht habe?

Code:                   In Zwischenablage kopieren (nur IE)
2">

Oder muss ich das so umschreiben?
Code:                   In Zwischenablage kopieren (nur IE)
3">

Würde es schon gerne auf meine Art machen, weis aber nicht, ob das funktioniert?
mfg
Freiheit


8.

Was ist deine Art? Die erste (falsche) Version? Dann geht es nicht auf deine Art. Falsche Syntax. Nimm die zweite Version, wobei du dann noch einen Alias auf SUM(userposts) legen solltest, damit du es mit mysql_fetch_object ansprechen kannst...


9.

Ist wohl eher ein MySQL Problem !

*schieb*


10.

Was heißt noch einen Alias auf SUM(userposts) legen?
Was meinst du damit?
mfg
Freiheit


11.

Siehe Posting #001. Nicht einfach nur in einen bestehenden Beitrag was reinschreiben, weil es thematisch dazu passt, sondern sich auch mal die bereits genannten Lösungen anschauen...


12.

Ach Got entschuldige, habe es übersehen...
Ich bekomme kein Geld für meine Einträge.
Jeder kann doch mal was übersehen.
mfg
Freiheit


13.

Zitat:
Ich bekomme kein Geld für meine Einträge.

Ich auch nicht....


Hier gehts zum Orginal Eintrag "Summieren von Datenbankfeldern" im Forum
 
phpforum.de | Impressum