Hulp nodig array & functie

  • Onderwerp starter Onderwerp starter ameen
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ameen

Gebruiker
Lid geworden
1 mrt 2008
Berichten
206
PHP:
<h3>PHP </h3>
<h4>Reis kosten berekenen </h4>
<form action="<?php echo $_server['PHP_SELF']; ?> method="post">
<?php
function reiskosten($vertrek, $bestemming)
{
$reiskosten = array();
$reiskosten[1] = array();
$reiskosten[2] = array();
$reiskosten[3] = array();
$reiskosten[4] = array();	
$reiskosten[1][1] = 0;
$reiskosten[1][2] = 30;
$reiskosten[1][3] = 60;
$reiskosten[1][4] = 90;	
$reiskosten[2][1] = 30;
$reiskosten[2][2] = 0;
$reiskosten[2][3] = 40;
$reiskosten[2][4] = 20;
$reiskosten[3][1] = 60;
$reiskosten[3][2] = 40;
$reiskosten[3][3] = 0;
$reiskosten[3][4] = 10;
$reiskosten[4][1] = 90;
$reiskosten[4][2] = 20;
$reiskosten[4][3] = 10;
$reiskosten[4][4] = 0;

 
	
echo($reiskosten[$vertrek][$bestemming] . " Euro's ");
}
?>

vertrek:
<select name="mydropdown">
<option value="Amsterdam">Amsterdam</option>
<option value="Utrecht">Utrecht</option>
<option value="Denhaag">Denhaag</option>
<option value="Rotterdam">Rotterdam</option>
</select>
Bestemming:
<select name="mydropdown">
<option value="Amsterdam">Amsterdam</option>
<option value="Utrecht">Utrecht</option>
<option value="Denhaag">Denhaag</option>
<option value="Rotterdam">Rotterdam</option>
</select>
<p><input type="submit" name="versturen" value="Versturen"></p>

Dit is mijn script helaas werkt het nog niet het moet eigenlijk als volgt werken ,als ik bijvoorbeeld Amsterdam Naar Den Haag selecteer dan moet er staan De reiskosten zijn 60 Euro.

Hoe zou ik dit kunnen oplossen alvast bedankt

Vriendelijke groeten,

Ameen
 
1 en Amsterdam zijn niet hetzelfde.

Je zult of de values van de Select box overeen moeten laten komen met de getallen 1 t/m 4, of je moet de keys van de array veranderen naar de namen van de steden (let dan op de case)

(Of je defineert constanten, dat kan ook nog ;))

PHP:
define ( 'AMSTERDAM', 1 );
define ( 'ROTTERDAM', 2 );

<option value="<?php echo AMSTERDAM ?>">Amsterdam</option>

$reiskosten[ AMSTERDAM ][ ROTTERDAM ] = 50;

Kies maar iets en kijk maar of het werkt ;)

Succes.
 
1 en Amsterdam zijn niet hetzelfde.

Je zult of de values van de Select box overeen moeten laten komen met de getallen 1 t/m 4, of je moet de keys van de array veranderen naar de namen van de steden (let dan op de case)

(Of je defineert constanten, dat kan ook nog ;))

PHP:
define ( 'AMSTERDAM', 1 );
define ( 'ROTTERDAM', 2 );

<option value="<?php echo AMSTERDAM ?>">Amsterdam</option>

$reiskosten[ AMSTERDAM ][ ROTTERDAM ] = 50;

Kies maar iets en kijk maar of het werkt ;)

Succes.

Zou u mij de werkende code niet kunnen geven want ik begrijp het eigenlijk nog steeds niet ben niet zo een ervaren programmeur :o Alvast bedankt
 
Daar leer je niks van ;)

Hier zijn alle problemen, een voor een:

* Je hebt een aanroep naar je reiskosten functie, waaraan je een $vertrek en $bestemming meegeeft. Geen van deze twee variabelen bestaat, dus geeft hij automatisch NULL mee.

* Je select velden hebben dezelfde name, dus maar 1 van de twee komt aan in je $_POST lijst, namelijk de laatste.

* Je values bestaan uit woorden (de namen van steden), maar de array waar je ze in gebruikt als keys, is gevuld met getallen. Woorden en getallen zijn niet hetzelfde, dus je zult ze op elkaar aan moeten sluiten.


Als ik jouw code moet gaan schrijven dan kan dat tegen mijn standaard tarief, maar ik denk niet dat je het er voor over hebt :thumb:
 
Oke bedankt het werkt al ;)

Topic kan gesloten worden
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan