Werte aus MySQL-Spalte zusammenzählen

diggity

Erfahrenes Mitglied
Guten Abend!

Hab ein kleines Problem, und zwar hab ich eine Tabelle, in der ich eine Spalte "votes" hab. Hier stehen die Integer Zahlen der bisher abgegebenen Votes drinnen.

Z.B.
Code:
antworten		votes
antwort1		2
antwort2		13
antwort3		5

Nun möchte ich alle votes zusammenzählen, sondass die Summe herauskommt, in diesem Beispiel wäre das "20". Geht das mit einem SQL-Befehl? Hab schon so viel probiert, aber nichts hat funktioniert.
Unter anderem das:

PHP:
	$res_antworten =  mysql_fetch_array(mysql_query("SELECT votes FROM umfrage_antworten WHERE frage_id = '$id'"));
	print_r($res_antworten);

Da kommt dann z.B. dieses Array raus:
Code:
Array
(
    [0] => 2
    [votes] => 2
)

Weil der erste Wert den das Query holt eben 10 ist. Es sind in diesem Falle aber 3 Wete die er holen müsste. Dazu brauch ich eine while-Schleife. Nunja, hab ich mir gedacht dann mach halt mal ...


PHP:
	$res_antworten =  mysql_query("SELECT votes FROM umfrage_antworten WHERE frage_id = '$id'");

	while($row = mysql_fetch_array($res_antworten)) {
		$votes[] = $row['votes'];
		print_r($votes);
	}

Ausgabe ist dann natürlich nicht nur
Code:
Array
(
    [0] => 2
    [1] => 13
    [2] => 5
)

Sondern
Code:
Array
(
    [0] => 2
)
Array
(
    [0] => 2
    [1] => 13
)
Array
(
    [0] => 2
    [1] => 13
    [2] => 5
)

Eh klar ...

Und wenn ich kein ordentliches Array herausbekomme kann ich nicht array_sum anwenden um die Wete zu addieren .......
 
Dein print_r($votes);
nach der While - Schleife eibauen und ansehen!

PHP:
<?
    while($row = mysql_fetch_assoc($res_antworten)) { 
        $votes[] = $row['votes']; 
    } 
print_r($votes); 
?>

Du kannst hier auch mehrere Werte auslesen
PHP:
<?
    while($row = mysql_fetch_assoc($res_antworten)) { 
        $votes[] = $row['votes']; 
        $votes2[] = $row['/* Spaltenname */']
    } 
print_r($votes); 
?>

oder auch addieren

PHP:
<?
    while($row = mysql_fetch_assoc($res_antworten)) { 
        $votes[] = $row['votes']; 
        $votes2[] += $row['/* Spaltenname */']
    } 
print_r($votes); 
?>
 
Zuletzt bearbeitet von einem Moderator:
Zurück