ugrás a tartalomhoz

Változók kiolvasása és kezelése

Individual · 2011. Aug. 26. (P), 15.12
Üdvözletem!

Funkcionális környezet: Kosár kezelés
Korsárba rakáskor a termék id elküldésre kerül és az id-hoz tartozó adatok (termék neve, egységár, darab) megjelenítésre kerülnek.

A darab megadásával frissül a sorokhoz tartozó végösszeg (darab*egységár).

(A teljes végösszeg számítás már kívül helyezkedik el a foreaches listázó után.)

Kérdés:
Változó számú sorok és változó összegű végösszeget, hogyan érek el összeadás céljából.

Az elképzelésem:

$all_summ = array ($sum = $termek[$id]["termek_webshop_ar"]*$db)    
// Amit lekérdezéskor kapok egy sorra azt eltárolom tömbben.


// Innentől a listageneráláson kívül vagyok.
$array = count($all_summ);

$tmb= $array;
$summa=0;
foreach($tmb as $e)
{
   $summa=$summa+$e;
}
print ".$summa;

Így hibát kapok a foreach sorára

Esetleg a tömbre alkalmazzak implode-ot?
Rossz a gondolatmenet? Vagy mit hagyok ki?

A segítséget előre köszönöm.
 
1

Huha

Poetro · 2011. Aug. 26. (P), 15.23
A $array változód milyen célt szolgál? Mert jelen esetben az csak az elemek számát tárolja, semmi mást. És miért csinálsz egy $tmp változót? A $all_summ célja is kérdéses, mivel abba pedig csak egy értéket pakolsz bele.

Valami ilyesmit képzelnék én el:
<?php
// Ami a termékek ID-it tartalmazza.
$idk = array(100, 102, 103); 
// A termékek darabszámát tartalmazza a kulcs pedig a termék ID-je.
$darabszamok = array(100 => 1, 102 => 2, 103 => 1);
// Betöltjük a termékeket.
$termekek = termekek_load($idk);

$summa = 0;
foreach ($termekek as $termek) {
  $summa += $termek['termek_webshop_ar'] * $darabszamok[$termek['id']];
}
print $summa;
?>
2

Lehet hogy Én értelmezem

Individual · 2011. Aug. 26. (P), 16.01
Lehet hogy Én értelmezem rosszul, de ez nekem úgy tűnik mintha az adott termék és darabszám összegére vonatkozna.

Lehet Én tettem fel rosszul a kérdést.

Szóval mondjuk így néz ki:

Termék neveTermék áraTermék dbÖsszesen
Kalapács100 Ft2200 Ft
Csavarhúzó100 Ft4400 Ft
Összesen: 600 Ft


Nos, és nekem az "összesen: 600 Ft" értékszámítás hiányzik.
3

Lásd előbb

Poetro · 2011. Aug. 26. (P), 16.20
A fenti számítás pont ezt a 600-as értéket számítja ki, ha egyesével is szükséged van rá, akkor:
<?php
// Ami a termékek ID-it tartalmazza.
$idk = array(100, 102, 103); 
// A termékek darabszámát tartalmazza a kulcs pedig a termék ID-je.
$darabszamok = array(100 => 1, 102 => 2, 103 => 1);
// Betöltjük a termékeket.
$termekek = termekek_load($idk);

$summa = 0;
foreach ($termekek as $termek) {
  // Kiszámítjuk a termék árát a darabszámmal szorozva.
  $termek['szumma'] = $termek['termek_webshop_ar'] * $darabszamok[$termek['id']];
  // Kiszámítjuk a végösszeget.
  $summa += $termek['szumma'];
}
print $summa;
?>
5

Sikerült. Köszönöm az

Individual · 2011. Aug. 26. (P), 17.13
Sikerült.

Köszönöm az instrukciókat Poetro! :)

Végül, ennyi az egész:

$summa = 0;
foreach ($_SESSION['kosar'] as $id=>$db) {
	$summa += $termek[$id]["termek_webshop_ar"]*$db;
}  
print $summa;


4

Ja

TeeCee · 2011. Aug. 26. (P), 16.20
Ja, Te értelmezed rosszul :D