Avatar billede whizzper Nybegynder
31. maj 2005 - 13:32 Der er 19 kommentarer og
1 løsning

Trække 100 kroner fra et andet tal

Hey..

Jeg sidder med et system her, som jeg ikke kan få til at virke :s

$minus = $roew[kroner]-100;

$roew[kroner] er 563.74333333333333

Men hver gang jeg gør det der, så ender det med at $roew[kroner] bliver til 101 kroner...
Hvad skal jeg gøre for det virker?
Avatar billede jonas82 Nybegynder
31. maj 2005 - 13:35 #1
$roew[kroner] = $roew[kroner]-100;
Avatar billede whizzper Nybegynder
31. maj 2005 - 13:40 #2
Så kommer resultatet til at se sådan ud:

-101.26855555567
Avatar billede sukos Juniormester
31. maj 2005 - 14:01 #3
Brug nu gerne ' eller " !!!
echo $roew["kroner"] ." fra DB. Minus 100 bliver det til ". ($roew["kroner"]-100);
Avatar billede sukos Juniormester
31. maj 2005 - 14:02 #4
Og hvilket felttype er "kroner" i DB'en?
Det skal være int
Avatar billede whizzper Nybegynder
31. maj 2005 - 14:11 #5
altså
$tal = ". ($roew["kroner"]-100); ??
Avatar billede whizzper Nybegynder
31. maj 2005 - 14:14 #6
$tal = $roew["kroner"]-100;

Efter det bliver resultatet: 101


Og hvorfor skal jeg bruge int? så har den problemer med at finde decimal tallene????
Avatar billede sukos Juniormester
31. maj 2005 - 14:24 #7
Du kan jo prøve:

echo $roew["kroner"] ." - ". intval($roew["kroner"]);

Hvis det ikke er "et tal" i DB'en, får du jo en streng ud.

Husker lige hvordan med decimaler og DB, men vil da lige prøve! :O)
Avatar billede sukos Juniormester
31. maj 2005 - 14:36 #8
Nå, med ref til http://eksperten.dk/spm/389705
skal feltet være DECIMAL :O)
Avatar billede whizzper Nybegynder
31. maj 2005 - 14:43 #9
$tal = $roew["kroner"] ." - ". intval($roew["kroner"]);
mysql_query("UPDATE brugersystem SET kroner = '$tal' WHERE Brugernavn = '$_GET[bruger]'");




Det skal være så han får 463.74333333333333 kr istedet for de 563.74333333333333 kr
Avatar billede nielle Nybegynder
31. maj 2005 - 14:47 #10
Hvis det bare er tabellen som skal opdateres, så er løsningen:

mysql_query("UPDATE brugersystem SET kroner = kroner-100 WHERE Brugernavn = '$_GET[bruger]'");
Avatar billede ksoren Nybegynder
31. maj 2005 - 14:47 #11
Hvis vi antager at felttypen er tal

mysql_query("UPDATE brugersystem SET kroner = kroner-100 WHERE Brugernavn = '$_GET[bruger]'");
Avatar billede sukos Juniormester
31. maj 2005 - 14:54 #12
Nu prøvede jeg selv lige at lege lidt:

CREATE TABLE `tal` (
  `id` tinyint(4) NOT NULL auto_increment,
  `kroner` decimal(10,6) NOT NULL default '0.000000',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

#
# Data dump for tabellen `tal`
#

INSERT INTO `tal` VALUES (1, '563.743333');
   

$mytal = mysql_query("SELECT kroner FROM tal WHERE id = 1");
echo (mysql_result($mytal, 0)-100);

feltet i DB'en SKAL være decimal!
Ellers vil du aldrig kunne lave udregninger
Avatar billede sukos Juniormester
31. maj 2005 - 14:55 #13
Ja, ok, der er andre typer "tal" for et felt!
Men såvidt jeg kan forstå på linket herover, er det netop DECIMAL som skal bruges her
Avatar billede whizzper Nybegynder
31. maj 2005 - 15:00 #14
Nu ændre tallet sig fra 563 til 62...der skal stå 463 :)
Avatar billede whizzper Nybegynder
31. maj 2005 - 15:05 #15
gjorde sådan her:

mysql_query("UPDATE brugersystem SET kroner = '$roew[kroner]-100' WHERE Brugernavn = '$_GET[bruger]'");

har også prøvet med:

mysql_query("UPDATE brugersystem SET kroner = 'kroner-100' WHERE Brugernavn = '$_GET[bruger]'");
Avatar billede sukos Juniormester
31. maj 2005 - 15:09 #16
Prøv at vise et dump af stukturen for din tabel!
Eller, det er stadig ikke et "talfelt"!
Avatar billede sukos Juniormester
31. maj 2005 - 15:09 #17
Eller nemmere, prøv at lave en ny tabel som i mit eks. og prøv så igen
Avatar billede nielle Nybegynder
31. maj 2005 - 15:12 #18
Der må skam heller ikke være pinger rundt om 'kroner-100' i:

mysql_query("UPDATE brugersystem SET kroner = 'kroner-100' WHERE Brugernavn = '$_GET[bruger]'");
Avatar billede whizzper Nybegynder
31. maj 2005 - 15:23 #19
Det var mig der lavede en MEGET dum fejl :P den tog mine kroner - 100 og gemte på hans bruger fordi jeg lavede en WHERE Brugernavn = '$_SESSION[Brugernavn]' istedet for $_GET[bruger] hehe.

Bare læg et svar :)
Avatar billede whizzper Nybegynder
16. juni 2005 - 20:29 #20
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester