[PHP] Berekenen van bedrag gaat fout.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo, mijn probleem: ik ben bezig met een systeem voor een Webhoster en Gameserverhoster, nu ben ik bijna klaar, maar loop ik tegen een probleem aan, voor een gameserver moet de prijs van het aantal spelersslots berekend worden, maar je hebt 2 serversoorten, Public en Private, bij een Public server kost het 1,50 per spelersslot, en bij private 1 euro, hoe kan ik nu zo instellen, als de gebruiker Public instelt, dat de prijs ook voor public berekend wordt, ik heb nu deze code

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
if($_POST['Slots'] == "8"){
$slots = 08.00; }
elseif($_POST['Slots'] == "9"){
$slots = 09.00; }
elseif($_POST['Slots'] == "10"){ 
$slots = 10.00; }
elseif($_POST['Slots'] == "11"){ 
$slots = 11.00; }
elseif($_POST['Slots'] == "12"){ 
$slots = 12.00; }
elseif($_POST['Slots'] == "13"){ 
$slots = 13.00; }
elseif($_POST['Slots'] == "14"){ 
$slots = 14.00; }
elseif($_POST['Slots'] == "15"){ 
$slots = 15.00; }
elseif($_POST['Slots'] == "16"){ 
$slots = 16.00; }
elseif($_POST['Slots'] == "17"){ 
$slots = 17.00; }
elseif($_POST['Slots'] == "18"){ 
$slots = 18.00; }
elseif($_POST['Slots'] == "19"){ 
$slots = 19.00; }
elseif($_POST['Slots'] == "20"){ 
$slots = 20.00; }
elseif($_POST['Slots'] == "21"){ 
$slots = 21.00; }
elseif($_POST['Slots'] == "22"){ 
$slots = 22.00; }
elseif($_POST['Slots'] == "23"){ 
$slots = 23.00; }
elseif($_POST['Slots'] == "24"){ 
$slots = 24.00; }
elseif($_POST['Slots'] == "25"){ 
$slots = 25.00; }
elseif($_POST['Slots'] == "26"){ 
$slots = 26.00; }
elseif($_POST['Slots'] == "27"){ 
$slots = 27.00; }
elseif($_POST['Slots'] == "28"){ 
$slots = 28.00; }
elseif($_POST['Slots'] == "29"){ 
$slots = 29.00; }
elseif($_POST['Slots'] == "30"){ 
$slots = 30.00; }
elseif($_POST['Slots'] == "31"){ 
$slots = 31.00; }
elseif($_POST['Slots'] == "32"){ 
$slots = 32.00;
}else{
$slots = 00.00; 
}


Weet iemand nu hoe je dat oplost.
hier staat het script http://n03l.porgo.nl/bke

MVG, Noël Schilleman

Acties:
  • 0 Henk 'm!

Verwijderd

Nog een ifje erbij voor Public/Private zoals je met slots doet

En dan de 2 vars optellen en je hebt totaal prijs

Acties:
  • 0 Henk 'm!

  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
Psst, je kan ook berekeningen maken met PHP...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
// Constants met de prijzen
define('PRICE_PER_PRIVATE_SLOT', 1);
define('PRICE_PER_PUBLIC_SLOT', 1.5);

// Prijsbereking
$slots = (int)$_POST['slots'];
if ($_POST['type'] == 'public')
    $price = $slots * PRICE_PER_PUBLIC_SLOT;
elseif ($_POST['type'] == 'private')
    $price = $slots * PRICE_PER_PRIVATE_SLOT;
else
    die('Invalid type');

[ Voor 8% gewijzigd door dingstje op 30-04-2007 18:33 ]

If you can't beat them, try harder


Acties:
  • 0 Henk 'm!

  • MarcoC
  • Registratie: September 2003
  • Laatst online: 13:20
Volgens mij kan het sowieso veel korter.


PHP:
1
2
3
4
5
6
7
8
9
<?php
if($_POST['Slots'] > 7 AND $_POST['Slots'] < 33){
$slots_public = 1*$_POSTS['Slots'];
$slots_private = 1.5*$_POST['Slots'];
} else {
$slots_public = 0;
$slots_private = 0;
}
?>


En dan nog een if'je erbij om te bepalen welke variabele getoond moet worden.

Edit: ok, net zoiets als degene hierboven dus. Hij doet 't al veul mooier :P.

[ Voor 26% gewijzigd door MarcoC op 30-04-2007 18:40 ]


Acties:
  • 0 Henk 'm!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
Ik weet niet op wat voor platform je php draait.. Maar volgens mij kan dit ook in 1 klap met de money_format function :
http://nl3.php.net/money_format

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt, ik ben er nu uit :)

Acties:
  • 0 Henk 'm!

  • martijnvanegdom
  • Registratie: Januari 2004
  • Laatst online: 27-05 17:54
Overigens je eerste methode is niet verstandig gezien vanuit een 'Qualtity of Software' gezichtspunt.. Als je meer van zulke constructies heb is het aan te raden daar toch eens goed naar te gaan kijken
Pagina: 1