SQL addieren

Lektor21

Erfahrenes Mitglied
Hallo!

Wie kann man eine komplette Spalte einer Tabelle addieren?

Mit
PHP:
$payed_sum=mysql_query ("SELECT SUM(payed) FROM user;
gehts irgendwie nicht :confused:

Also ich habe eine Spalte "payed" wo angezeigt wird, wieviel jeder User bezahlt hat. Und ich möchte für den Admin-Bereich ausgeben wieviel insgesamt alle bezahlt haben!

Und wie kann man zählen wieviele "user" sich angemeldet haben?
 
PHP:
$payed_sum_ = mysql_query ("SELECT SUM(payed) AS UserSum FROM user") or die(mysql_error());

$payed_sum = mysql_fetch_assoc($payed_sum_);

echo $payed_sum['UserSum'];


Wie meinst du: "Zählen wie viele User sich angemeldet haben"? Heisst das, wie viel sich registriert haben (ergo in der DB vertreten sind und über SELECT COUNT(Field) oder mysql_num_rows() ermittelt werden können) oder wie viele User sich einloggen (was über ein Feld in der DB gelöst werden kann, das bei jedem Login inkrementiert)?
 
Es wär schön, wenn du vielleicht noch sagen würdest, wie die Tabelle aussieht, in welcher die Spalte User drin ist. Hast du die User die sich registrieren nicht in einer eigenen Tabelle?
 
Also die Tabelle heißt user und die Spalte inder die Usernamen stehen ebenfalls user!

An deinem letzten geposteten Code stimmt was nicht!

Ich bekomme immer: Array
 
Ja natürlich. Ist ja mehr als ein Datensatz. Hab ich übersehen.

PHP:
$payed_sum_ = mysql_query ("SELECT SUM(payed) AS UserSum FROM user") or die(mysql_error());

while($payed_sum = mysql_fetch_assoc($payed_sum_))  {
  echo $payed_sum['UserSum']."<br />";  
}

So müsste es gehen.

Um die User zu zählen machst du (wie übrigends oben schon erwähnt) einen SELECT COUNT() über eine Spalte in der Tabelle user oder arbeitest mit mysql_num_rows()

Wie das geht --> :google:

http://de.php.net/manual/de/function.mysql-num-rows.php
http://sql.1keydata.com/de/sql-count.php
 
Bei mir geht sowohl als auch. Wobei die erste Lösung die bessere ist. Hab beim letzten Post vor lauter Bäumen den Wald nicht mehr gesehen.

Der Fehler kann also nicht in diesem Codeteil liegen. Was kommt bei dir im Script sonst noch in Frage?
 
Danke passt :)

Sag mal ist es da nicht auch möglich, die 10 besten $user anzeigen zu lassen, die den höchsten Wert bei "payed" stehen haben? :confused:

Also das man sich anzeigen lässt, wer die 10 besten sind (Usernamen und mit welchem Umsatz)!

Ich kann dir ja bald Anteile an meiner Seite überschreiben, wenn sie Online geht! Soviel wie du mir schon geholfen hast :D

Danke :)
 
Zuletzt bearbeitet:
*lach* Ich hab mich hier net registriert um Anteile zu bekommen ;) Helfe gerne. Willkommene Abwechslung beim Arbeiten.

Das Stichwort für dein neues Problem heisst LIMIT. Du ordnest mit ORDER BY payed DESC die User mit dem höchsten Wert bei payed absteigend. Danach kannst du mit LIMIT 10 nur die ersten 10 ausgeben.
 

Neue Beiträge

Zurück