Autor Zpráva
Rionela
Profil
Dobré ránko,

před pár dny jsem se ptala v tétu diskusi
http://diskuse.jakpsatweb.cz/index.php?action=vthread&topic=75846&foru m=28&page=-1
na to, jak ukládat desetinné číslo do databáze. Přítomní mi pomohli a změnila jsem typ sloupců v databazi na float a začala používat tečku.

Ale narazila jsem ted právě na oříšek, který mi nejde rozlousknout:( Dělám si takový malý internetový obchůdek a ve sčítání všech položev v košíku používám:
$soucet= mysql_result(mysql_query("SELECT SUM(mnozstvi * cena) FROM kosik WHERE kos_session = '$sessio'"), 0);

ale u položek, jejichž cena má číslo i za tečkou, to akceptuje jen tu část před tečkou, takto:
cena je např. 2.5, množství 3 a výsledek je 6 (vezme to 2 x 3)...

Problém taky je, že takto už jsem vložila do databáze požehnané množství položek a udělám cokoliv pro to, abych nemusela každou přepisovat, díky za pomoc.
Taps
Profil
Rionela
a jaký typ máš nastavený pro sloupec cena ?
Rionela
Profil
a jaký typ máš nastavený pro sloupec cena ?
z výpisu z phpmyadmin:
`cena` float default '0',
ShiraNai7
Profil
Rychlé řešení by bylo provádět tyto operace v prostředí PHP, kde to máš plně pod kontrolou. Něco na tento způsob:

$polozky=mysql_query("SELECT `mnozstvi`,`cena` FROM `kosik` WHERE `kod_session`='".mysql_real_escape_string($session)."'");
$soucet=0;
while($polozka=mysql_fetch_array($polozky)){
$soucet+=$polozka['mnozstvi']*$polozka['cena'];
}
Rionela
Profil
$polozky=mysql_query("SELECT `mnozstvi`,`cena` FROM `kosik` WHERE `kod_session`='".mysql_real_escape_string($session)."'"); $soucet=0; while($polozka=mysql_fetch_array($polozky)){ $soucet+=$polozka['mnozstvi']*$polozka['cena']; }

na to koukám jak na zjevení, mužete mi to prosím jen trochu nastínit, co by tyhle řádky měly umět?
ShiraNai7
Profil
Rionela
Toto vybere všechny položky z košíku podle názvu session (tak to máš uložené), u každé podle množství a ceny vypočítá cenu a přičte ji k výslednému součtu. Výsledkem je celková cena všech položek uložená v proměnné $soucet.
Rionela
Profil
ShiraNai7
takže by tomu nemělo vadit, že mám ceny ve formátu xx.x ?
ShiraNai7
Profil
Rionela
Ne, nemělo.
YoSarin
Profil
Rionela
Zkus sloupeček mnozstvi nastavit taky jako float, případně ko v tom dotazu na float zkonvertuj (nevím jak přesně to je, zkus místo cena*mnozstvi napsat třeba cena*(float(mnozstvi)) ) nebo tak jak píše ShiraNai7

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0