Ik ben bezig met een script waarvoor is niet belangrijk.

Maar ik moet 5 waardes in een database stoppen.
En het is nogal onhandig als ik 5 rijen moet aanmaken.
daarom wil ik het in 1 stoppen.

Nu heb ik wel eens van de functie explode gehoort maar weet niet of het hier de goede functie voor is.

Stel ik heb een veld.

0,34,23,65,45

Hoe kan ik bijv hier alle 5 de waardes er apart uithalen.
en dan zo echo'en
Veld1:0
veld2:34
veld3:23
enz
Ik neem aan dat je de waardes per level hebt? zoja post ze even dan hebben we een beter overzicht hoe je de kosten per gebouw wilt berekenen.
Laten we maar een simpele waarde pakken.

100

Ik heb nog niet echte waardes.
Maar het lijkt mij logisch om ze met 25% elke keer toe te laten nemen.
Kan ik altijd eventueel altijd veranderen.

Ik denk dat dit via loops werkt?

Ik zou het zo doen..
Maar dat is denk ik een beetje omslachtig?

$var1="100";
$var2=$var1*1,25;
$var3=$var2*1,25;

Ik heb het een beetje overdreven ben ik bang. Je sprong wat veel op en neer. Dit lijkt denk ik op wat je eerst in gedachte had. Het kan natuurlijk nog veel uitgebreider.


<?php
	
	#| INFO: Stel je wilt een Level 1 huis bouwen.
	
		$benodigde_grondstoffen = array(
											'stenen' => array(
																	'hoeveelheid' => 1500,
																	'eenheid' => 'Stenen',
																	'kosten' => 50000
															),
											'beton' => array(
																	'hoeveelheid' => 2500,
																	'eenheid' => 'Kuub',
																	'kosten' => 6000
															),
											'hout' => array(
																	'hoeveelheid' => 350, 
																	'eenheid' => 'Balken',
																	'kosten' => 10000
															),
											'dakpannen' => array(
																	'hoeveelheid' => 750,
																	'eenheid' => 'Stuks',
																	'kosten' => 15000
															),
											'glas' => array(
																	'hoeveelheid' => 50,
																	'eenheid' => 'Vierkante meter',																	
																	'kosten' => 12000
															)
										);
										

?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test.</title>
</head>

<body>
<?php	
									
	#| VOORBEELD: 
	
		$grondstoffen = array_keys($benodigde_grondstoffen);
		
		for($i = 0; $i < 20; $i++)
		{
		#| Kosten array aanmaken
		
			$kosten = array();
		
		
		#| Level aangeven.
		
			echo '<p style="font-size: 24px;"><b>Level:</b> '.($i + 1).'</p>';			


		#| Alle type grondstoffen afgaan.
		
			foreach($grondstoffen as $value)
			{
			#| Kosten berekenen per type grondstof.
			
				$kosten[$value] = $benodigde_grondstoffen[$value]['kosten'] * pow(1.25,$i);
			
				echo '<p><b>Grondstof:</b> '.$value.'</p>';
				echo '<p><b>Hoeveelheid:</b> '.number_format($benodigde_grondstoffen[$value]['hoeveelheid'] * pow(1.25,$i)).' '.$benodigde_grondstoffen[$value]['eenheid'].'<br />';
				echo '<b>Kosten:</b> $ '.number_format($kosten[$value]).',-</p>';
			}
		
		#| Totale kosten per huis.
			
			echo '<p><b>Totale kosten:</b> $ '.number_format(array_sum($kosten)).',-</p>';
			
		}	

?>
</body>
</html>
Persoonlijk zou ik de gegevens die jij in $benodigde_grondstoffen zet juist WEL in de database stoppen.
Even bijwerken is dan ook direct veel gemakkelijker.
Maar dan wel met een heel ander datamodel.
grondstof1, grondstof2 etc is al overbodig... daarvoor heb je gewoon een koppeltabel nodig.
<?php

$barrackWood = 100; // Level 0 (basis grondstoffen)
$barrackLevel = 1;
echo ($barrackWood * pow(1.25, $barrackLevel)); // 125
$barrackLevel = 2;
echo ($barrackWood * pow(1.25, $barrackLevel)); // 156.25
Dan vind ik dit laatste nog wel het makkelijkst:)

Reageren