Hulp gezocht...

Status
Niet open voor verdere reacties.
Wat moeten we precies op de google-pagina zien?
 
Op zich makkelijk te realiseren, je stelt een prijs per KM in en geeft per plaats aan hoever het is.

PHP:
$prijs_per_km = 0,25;

$stad_array = array(
"50" => "Emmeloord",
"100" => "Leeuwarden",
);
Vervolgens werk je met een formulier waarin je die array gebruikt.
PHP:
echo '<select name="stad">';
for($stad_array AS $km => $stad) {
  echo '<option value="'. $km .'">'. $stad .'</option>';
}
echo'</select>';
Daarna moet je op de "verwerk"-pagina de berekening uitvoeren.
PHP:
$totaal_bedrag = $_POST['stad'] * $prijs_per_km;
echo $totaal_bedrag;

Extra opties zijn dan dat je uiteindelijk het totaalbedrag deelt door het aantal personen.
 
:rolleyes: Ja, en nu?

Je plaatst alleen code (nota bene zonder de
PHP:
-tags) en ook niet met iets van uitleg erbij.
 
Ik heb hier verschillende tarieven
Tarief tabel;
tarief1 = 1.70 afstand <= 25 km
tarief2 = 1.40 afstand2 tussen 25 - 50
tarief3 = 1.30 afstand3 tussen 50 - 75
tarief4 = 1.20 afstand4 tussen 75 - 100
tarief5 = 1.20 afstand5 > 100

Is het mogelijk om zo'n berekening te maken?
PHP Code
Code:
[B]Ritprijs[/B] 
if(isset($km)){
$km=$kilometers;
$tarif1=1700;
$tarif2=1400;
$tarif3=1300;
$tarif4=1200;
$tarif5=1200;
$minder_dan_kilometers=$kilometers-25;
$minder_dan_kilometers2=$kilometers-50;
$minder_dan_kilometers3=$kilometers-75;
$minder_dan_kilometers4=$kilometers-100;
if($kms<=25){
$prijs=3000+$tarif1*$kilometers;
)else if($kilometers>25 && $kilometers<=50){
$prijs=3000+(25*$tarif1)+($minder_dan_kilometers*$tarif2);
)else if($kilometers>50){
$prijs=3000+(25*$tarif1)+(25*$tarif2)+($minder_dan_kilometers2*$tarif3);
)else if($kilometers>75){
$prijs=3000+(25*$tarif1)+(25*$tarif2)+(25*$tarif3)+($minder_dan_kilometers3*$tarif4);
)else if($kilometers>100){
$prijs=3000+(25*$tarif1)+(25*$tarif2)+(25*$tarif3)+(25*$tarif4)+($minder_dan_kilometers4*$tarif5);
)
)else{
$kilometers="0";
$prijs="0";
)


$stad_array = array(
"50" => "Emmeloord",
"100" => "Leeuwarden",
);
 
Even heel basic:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Prijs berekenen</title>
</head>
<body>

<?php
//Prijzen per KM
$tarief1 = 1.70; // Gelijk of lager dan 25
$tarief2 = 1.40; // Tussen 25 en 50
$tarief3 = 1.30; // Tussen 50 en 75
$tarief_overig = 1.20; // Groter dan 75

//Maximaal te vervoeren personen
$max_personen = 8;

//Voorrijdkosten in euro's
$min_kosten = 30;

//Zelf aanvullen
$stad_array = array(
"Emmeloord" => "50",
"Leeuwarden" => "100",
);



//Einde configuratie
if(isset($_POST['submit'])) {

  //Initialisatie
  $aantalkm = $stad_array[$_POST['stad']];
  $prijs_pp = 0;
  $totaal = 0;

  //Prijs bepalen
  if($aantalkm <= 25) {
    $totaal = $min_kosten+($aantalkm*$tarief1);
  }
  elseif($aantalkm > 25) {
    $totaal = $min_kosten+($aantalkm*$tarief2);
  }
  elseif($aantalkm > 50 && $aantalkm <= 75) {
    $totaal = $min_kosten+($aantalkm*$tarief3);
  }
  else {
    $totaal = $min_kosten+($aantalkm*$tarief_overig);
  }

  //Prijs per persoon berekenen
  $prijs_pp = round(($totaal / $_POST['personen']), 2);

  //Resultaat weergeven:
  echo'De totaalprijs bedraagt: &euro;'. $totaal .'<br />
        Dit komt neer op een prijs van &asymp; &euro;'. $prijs_pp .' per persoon';
}
else {

echo '<form action="'. $_SERVER['PHP_SELF'] .'" method="post">
       Selecteer uw stad:<select name="stad">';
foreach($stad_array AS $stad => $km) {
  echo '<option value="'. $stad .'">'. $stad ."</option>\n";
}
echo '</select><br />
 Selecteer het aantal personen:<select name="personen">';
for($i=1;$i <= $max_personen; $i++) {
  echo'<option value="'. $i .'">'. $i ."</option>\n";
}
echo '</select><br />
<input type="submit" value="Bereken" name="submit" />
</form>';
}
?>
</body>
</html>
Volgens mij moet dit zo aardig werken.

Je kunt het zo uitgebreid maken als je wilt, maar dit is volgens mij het minimale dat je nodig zult hebben.
 
IK HEB HIER TOESLAG BEREKENING BIJ MEERDERE PERSONEN
PHP Code
Code:
// maximale aantal personen en toeslag
max = 6;
0 - 4 = + 0 % toeslag
> 4  <= 6 = + 20% toeslag

GEEN Voorrijdkosten 
$min_kosten = 30;

//STARTPRIJS
$startprijs = 3.00;

//TUSSEN STOPS 
5.00 PER KEER

DUS EIND BEREKENING IS 
TOTAAL = (STARTPRIJS) + (KM*TARIEF) + (TOESLAG PER PERS.) + (TUSSENSTOPS)

//EINDE RESULTAAT
ENKELE REIS = TOTAAL
RETOUR = (TOTAAL*2) - 5%   

 if($aantal_passagiers<=4){
  $total_kost=$startprijs+$kost+(0/100*$kost);toeslag 0 procent
  )else if($aantal_passagiers<=6){
  $total_kost=$startprijs+$kost+(20/100*$kost);//toeslag 20procent
  )else{
  header("locaton:index.php?status=enem&kilometers=$kilometers2");
  )
  $kost_enkel=$total_kost+(5.00*$tussen_stops);//aantal tussen stops
  $kost_retour=($total_kost*2)+(5/100*total_kost);//prijs retour
  header("location:index.php?kilometers=$kilometers2&kost_enkel=$kost_enkel&kost_retour=$kost_retour");
  )

ALVAST BEDANKT
 
Laatst bewerkt:
Juist ja...

Gewoon nederlands lijkt me handiger.
 
Wanneer je dezelfde code hebt geupload als die ik je heb gegeven hoort hij het te doen...

Aan de hand van de code die jij hierboven geeft merk ik op dat je al een of ander script hebt... Wel zo handig om dat te melden. Wanneer dat niet zo is en je hebt het zelf allemaal geschreven dan begrijp je PHP niet echt...

Het probleem met de voorrrijdkosten snap ik niet echt... Wat is het verschil tussen startkosten en voorrijdkosten, behalve de naam?

Daarnaast is het gedeelte met de tussenstops niet echt duidelijk, wat valt hieronder? Kan men die zelf vaststellen of is dat de keuze dat iedereen thuis wordt opgehaald o.i.d.?

Bovendien heb ik bovenin ruimte gelaten voor wat configuratie, dus die max_personen kun je altijd aanpassen...

Dit heb ik nu... Getest en wel (Zonder de tussenstops dus!!)
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Prijs berekenen</title>
</head>
<body>

<?php
//Prijzen per KM
$tarief1 = 1.70; // Gelijk of lager dan 25
$tarief2 = 1.40; // Tussen 25 en 50
$tarief3 = 1.30; // Tussen 50 en 75
$tarief_overig = 1.20; // Groter dan 75

//Maximaal te vervoeren personen
$max_personen = 6;

//Voorrijdkosten in euro's
$min_kosten = 3;

//Zelf aanvullen
$stad_array = array(
"Emmeloord" => "50",
"Leeuwarden" => "100",
);



//Einde configuratie
if(isset($_POST['submit'])) {

  //Initialisatie
  $aantalkm = $stad_array[$_POST['stad']];
  $prijs_pp = 0;
  $totaal = 0;

  //Prijs bepalen
  if($aantalkm <= 25) {
    $totaal = $min_kosten+($aantalkm*$tarief1);
  }
  elseif($aantalkm > 25 && $aantalkm <= 50) {
    $totaal = $min_kosten+($aantalkm*$tarief2);
  }
  elseif($aantalkm > 50 && $aantalkm <= 75) {
    $totaal = $min_kosten+($aantalkm*$tarief3);
  }
  else {
    $totaal = $min_kosten+($aantalkm*$tarief_overig);
  }

  //Toeslag toepassen
  if($_POST['personen'] > 4) {
    $totaal *= 1.20;
  }
  //Prijs per persoon berekenen
  $prijs_pp = round(($totaal / $_POST['personen']), 2);

  //Resultaat weergeven:
  echo'De totaalprijs bedraagt: &euro;'. $totaal .'<br />
        Dit komt neer op een prijs van &asymp; &euro;'. $prijs_pp .' per persoon';
}
else {

echo '<form action="'. $_SERVER['PHP_SELF'] .'" method="post">
       Selecteer uw stad:<select name="stad">';
foreach($stad_array AS $stad => $km) {
  echo '<option value="'. $stad .'">'. $stad ."</option>\n";
}
echo '</select><br />
 Selecteer het aantal personen:<select name="personen">';
for($i=1;$i <= $max_personen; $i++) {
  echo'<option value="'. $i .'">'. $i ."</option>\n";
}
echo '</select><br />
<input type="submit" value="Bereken" name="submit" />
</form>';
}
?>
</body>
</html>
 
sorry...
het was mijn fout;
1. het script verkeerd opgeslagen i.p.v. html .php
2. het verschil is de naam inderdaad
3. onder tussenstops betekent dat onderweg men moet opgehaald worden of men moet onderweg ergens gebracht worden. b.v schiphol - amsterdam met tussenstops sloterdijk.
dit betekent 1 x stoppen

alvast bedankt...
 
Volgens mij moet je er zo aardig zijn:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Prijs berekenen</title>
</head>
<body>

<?php
//Prijzen per KM
$tarief1 = 1.70; // Gelijk of lager dan 25
$tarief2 = 1.40; // Tussen 25 en 50
$tarief3 = 1.30; // Tussen 50 en 75
$tarief_overig = 1.20; // Groter dan 75

//Maximaal te vervoeren personen
$max_personen = 6;

//Voorrijdkosten in euro's
$min_kosten = 3;

//Prijs per tussenstop
$stop_prijs = 5;
//Maximum aantal tussenstops
$max_stop = 5;

//Zelf aanvullen
$stad_array = array(
"Emmeloord" => "50",
"Leeuwarden" => "100",
);



//Einde configuratie
if(isset($_POST['submit'])) {

  //Initialisatie
  $aantalkm = $stad_array[$_POST['stad']];
  $prijs_pp = 0;
  $totaal = 0;

  //Prijs bepalen
  if($aantalkm <= 25) {
    $totaal = $min_kosten+($aantalkm*$tarief1);
  }
  elseif($aantalkm > 25 && $aantalkm <= 50) {
    $totaal = $min_kosten+($aantalkm*$tarief2);
  }
  elseif($aantalkm > 50 && $aantalkm <= 75) {
    $totaal = $min_kosten+($aantalkm*$tarief3);
  }
  else {
    $totaal = $min_kosten+($aantalkm*$tarief_overig);
  }

  //Toeslag toepassen
  if($_POST['personen'] > 4) {
    $totaal *= 1.20;
  }
  if($_POST['tussenstop'] != 0) {
    $totaal += ($_POST['tussenstop']*$stop_prijs);
  }
  //Prijs per persoon berekenen
  $prijs_pp = round(($totaal / $_POST['personen']), 2);

  //Resultaat weergeven:
  echo 'De totaalprijs voor een rit van '. $_POST['stad'] .'
        naar Schiphol voor '. $_POST['personen'] .' personen en
         '. $_POST['tussenstop'] .' tussenstop(s) bedraagt: &euro;'. $totaal .'<br />
        Dit komt neer op een prijs van &asymp; &euro;'. $prijs_pp .' per persoon';
}
else {

echo '<form action="'. $_SERVER['PHP_SELF'] .'" method="post">
       Selecteer uw stad:<select name="stad">';
foreach($stad_array AS $stad => $km) {
  echo '<option value="'. $stad .'">'. $stad ."</option>\n";
}
echo '</select><br />
 Selecteer het aantal personen:<select name="personen">';
for($i=1;$i <= $max_personen; $i++) {
  echo'<option value="'. $i .'">'. $i ."</option>\n";
}
echo '</select><br />
 Selecteer het aantal tussenstops:<select name="tussenstop"><option value="0">Geen</option>';
for($i=1;$i <= $max_stop; $i++) {
  echo'<option value="'. $i .'">'. $i ."</option>\n";
}
echo '</select><br />
<input type="submit" value="Bereken" name="submit" />
</form>';
}
?>
</body>
</html>
 
nee a.u.b,
want ik ben nog niet klaar mee...

heb je toevallig gezien het resultaat?

bedankt.
 
Lees de quote eens door in mijn vorige bericht, dan weet je meteen waarom hij het niet doet :rolleyes:
 
ja hoor het werk prima.

is het mogelijk om de totaalprijs in te voegen aan de bestelformulier?
naam telp

bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan