Mysql Werte zusammenzählen

Subwoover

Erfahrenes Mitglied
Meine Tabelle enthält verschiedene Daten (Gleitkommazahlen) für verschiedene User.

1 Zelle heisst userid, in der wird bestimmt welcher User das ist.
Was ich brauche ist:

Zuerst wird aus einer Zelle "Werte" alle Werte mit explode("#",$show->werte); aufgeteilt und dann hab ich die werte aller Produkte.
Diese werden dann in einer anderen Tabelle nach ihrem "Preis" abgecheckt und dann würd ich gern für den User alle vorhandenen Produktpreise zusammenzählen, wie mach ich das am besten?

Meine ansätze für eine for schleife funken leida nicht :(
 
wenn ich jetzt beim 2. lesen endlich verstanden habe, was du willst, dann kannst du doch einfach dein array das du explodest hast per foreach() durchgehen.

PHP:
$huups = explode('#', $show->werte);
foreach($huups as $wert){
$query = "SELECT preis FROM preise WHERE wert = '".$wert."';";
$res = mysql_query($query);
$var_arr = mysql_fetch_array($res);
$preise[$wert] = $var_arr[$preis];
}

dann hast du ein tolles array...^^

oder meintest du das gar nicht?
 
Ne ich hab das jez ein bissi umgebaut und so schaut das jez aus:

PHP:
      $getallkcal = mysql_query("SELECT kcal FROM eaten WHERE user = '$uid'");
      $anzkcal = mysql_num_rows($getallkcal);
      $allkcal = mysql_fetch_array($getallkcal);

        ////////////////////////////////////////////////

        for ($n = 0; $n < $anzkcal; $n++) {
            $m = $n+1;
            $erg = $allkcal[$n] + $allkcal[$m];
        }

Nur leider funktioniert es nicht, wenn ich $erg ausgebe bekomm ich 0 herraus obwohl in der DB zwei werte über tausend stehen.
 
irgendwie ist hier ein fehler.
du fragst ja ab, wieviele reihen existieren, in der for-schleife arbeitest du aber nur mit einer.
außerdem gibt allkcal ein array mit den spalten zurück, nicht mit den reihen, also kannst du nicht per for dieses array durchlaufen, es sei denn, du willst nach und nach alle spalten durchgehen.
 
Hmmmmm naja ich arbeite nicht sooft mit for schleifen und arrays, wie gez denn richtig?

Was ich will ist der Gesammtwert aller rausgesuchten Werte in der Spalte "kcal" da sind mehrere Reihen von verschiedenen usern, ich möchte von dem eingeloggten User alle diese Werte zusammenzählen und ausgeben, also wie mach ich das dann am besten?
 
bin mir immer noch nicht sicher ob ich weiß was du meinst, aber man kann es so wie ich es mir vorstelle über SQl lösen.

PHP:
$getallkcal = mysql_query("SELECT sum(kcal) as allkcal FROM eaten WHERE user = '$uid'");
$var_arr = mysql_fetch_array($getallkcal);

echo $var_arr[allkcal];
 
hehe... war nur etwas unverständlich am anfang.

und ist wohl auch einiges schneller als alles per for zusammenzufügen. oft kann man sowas mit etwas sql leichter lösen.
 
Zurück