levensverwachting
Ik probeer al een lange tijd een php te maken voor levensverwachting maar het lukt niet.
Heeft iemand een php van levensverwachting voor mij zodat ik mijn project kan voltooien?
Alvast bedankt J.
Zo niet, en je bent opzoek naar een databank heb ik misschien wel iets
Zie: https://github.com/jdorfman/awesome-json-datasets#population
Leeftijd: <input type="text" name="leeftijd"></p>
Rook je?
<select name="roken" id="select">
<option value="ja">Ja</option>
<option value="nee">Nee</option>
<option value="empty" selected>Kies</option>
</select> </p>
Dit is een soort voorbeeld van mijn html deel van me project. Maar de php erbij maken lukt me niet.
Het doel is een programma voor levensverwachting te maken maar ik snap niet hoe ik dit moet verwerken in de php. Moet ik hiervoor een switch met case gebruiken of niet?
Begin bij het einde: hoe wordt de levensverwachting bepaald? Is dat aan de hand van formules, van tabellen of van een combinatie van beide?
Het wordt bepaald door de waarde die je geeft aan iets. Dus als je bij roken ja invult moet dit aangegeven worden in een formule. Dus het wordt bepaald aan de hand van formules.
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$your_age = 68; // ingegeven via formulier
$you_smoke = true; // ingegeven via formulier
$cigarettes_per_day = 25; // ingegeven via formulier
$expected_age = 75;
if ($you_smoke) {
if ($cigarettes_per_day > 20) {
$expected_age = $expected_age - 10;
} else {
$expected_age = $expected_age - 4;
}
}
if ($expected_age > $your_age) {
echo 'you only have ' . $expected_age - $your_age . ' years to live';
} else {
echo 'sorry ... you should be dead by now, game over ...';
}
?>
$your_age = 68; // ingegeven via formulier
$you_smoke = true; // ingegeven via formulier
$cigarettes_per_day = 25; // ingegeven via formulier
$expected_age = 75;
if ($you_smoke) {
if ($cigarettes_per_day > 20) {
$expected_age = $expected_age - 10;
} else {
$expected_age = $expected_age - 4;
}
}
if ($expected_age > $your_age) {
echo 'you only have ' . $expected_age - $your_age . ' years to live';
} else {
echo 'sorry ... you should be dead by now, game over ...';
}
?>
Ik heb het vermoeden dat je vraagt naar hoe je het technisch gezien moet maken in PHP, in dat geval zou ik willen vragen, hoever ben je nu? Wat heb je gedaan, waar loop je tegen aan?
Het doel is van mijn opdracht om een formulier te maken in html en vervolgens de gegeven op te halen in de php en ze gegeven waarden daarin te verwerken tot een getal wat de levensverwachting moet voorstellen. Hierbij lukt het mij om de gegeven op te halen. Ook lukt het mij om 1 opgehaalde variabele een waarde te geven maar het lukt mij niet om dit met meerdere te doen. Dat is waar ik op dit moment het meeste tegenaan loop.
Gewijzigd op 22/06/2016 18:17:03 door Ward van der Put
Gaat het om een schoolopdracht?
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
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
<!DOCTYPE HTML>
<body>
<html> <form action="po4.php" method="post">
Naam: <input type="text" name="naam"></p>
Leeftijd: <input type="text" name="leeftijd"></p>
Rook je?
<select name="roken" id="select">
<option value="ja">Ja</option>
<option value="nee">Nee</option>
<option value="empty" selected>Kies</option>
</select> </p>
Drink je alcohol?
<select name="roken" id="select">
<option value="ja">Ja</option>
<option value="nee">Nee</option>
<option value="empty" selected>Kies</option>
</select> </p>
Sport je?
<select name="roken" id="select">
<option value="ja">Ja</option>
<option value="nee">Nee</option>
<option value="empty" selected>Kies</option>
</select> </p>
Wat bedraat je BMI? <a href=""> (Bereken het hier) </a>
<input type="text" name="bmi"></p>
Welk opleidingsniveau heb je gedaan?
<select name="roken" id="select">
<option value="vmbo">VMBO</option>
<option value="havo">HAVO</option>
<option value="mbo">MBO</option>
<option value="hbo">HBO</option>
<option value="uni">UNI.</option>
<option value="empty" selected>Kies</option>
</select> </p>
Waar woon je?
<select name="roken" id="select">
<option value="platteland">Platteland</option>
<option value="stad">Stad</option>
<option value="empty" selected>Kies </option>
</select> </p>
<input type="submit" name="submit" value="Bereken mijn levensverwachting!" ></p>
</html></form>
<body>
<html> <form action="po4.php" method="post">
Naam: <input type="text" name="naam"></p>
Leeftijd: <input type="text" name="leeftijd"></p>
Rook je?
<select name="roken" id="select">
<option value="ja">Ja</option>
<option value="nee">Nee</option>
<option value="empty" selected>Kies</option>
</select> </p>
Drink je alcohol?
<select name="roken" id="select">
<option value="ja">Ja</option>
<option value="nee">Nee</option>
<option value="empty" selected>Kies</option>
</select> </p>
Sport je?
<select name="roken" id="select">
<option value="ja">Ja</option>
<option value="nee">Nee</option>
<option value="empty" selected>Kies</option>
</select> </p>
Wat bedraat je BMI? <a href=""> (Bereken het hier) </a>
<input type="text" name="bmi"></p>
Welk opleidingsniveau heb je gedaan?
<select name="roken" id="select">
<option value="vmbo">VMBO</option>
<option value="havo">HAVO</option>
<option value="mbo">MBO</option>
<option value="hbo">HBO</option>
<option value="uni">UNI.</option>
<option value="empty" selected>Kies</option>
</select> </p>
Waar woon je?
<select name="roken" id="select">
<option value="platteland">Platteland</option>
<option value="stad">Stad</option>
<option value="empty" selected>Kies </option>
</select> </p>
<input type="submit" name="submit" value="Bereken mijn levensverwachting!" ></p>
</html></form>
Dit is wat ik heb aan html maar snap niet hoe ik het moet verwerken in php, behalve zoals ik al zei het ophalen van de gegevens.
Ward:
Graag voortaan bij code de [code][/code]-tags gebruiken.
Hier kun je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kun je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 23/06/2016 10:09:45 door Ward van der Put
Je gebruikt <select name="roken" id="select"> voor alle keuzelijsten, maar niet alle keuzen zijn antwoorden op de vraag "roken". Maak name en id beide uniek in elke select.
Oh klopt inderdaad dat had ik al aangepast dat was de oude versie
- Allereerst kijken we of het formulier verstuurd is via POST, zo voorkomen we dat je $_POST-waarden probeert op te vragen, terwijl ze nog niet eens bestaan en dan Notice-meldingen met 'Undefined index' geven.
- Zodra het formulier met succes via de POST-methode verstuurd is is, dan controleren we of alle velden ingevuld zijn. Dit doen we met isset().
- Als er aan die validatie is voldaan, dan moeten we controleren of de leeftijd goed in ingevuld. Dit moet tussen bepaalde waardes liggen. Bijv. 18 en 130.
-Dan begint het rekenwerk. Je hebt dan in $_POST['leeftijd'] de leeftijd staan, die je per veld een deel van de leeftijd erbij optelt of aftrekt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
// Hier controleren we of het formulier verstuurd is via de POST-methode
if($_SERVER['REQUEST_METHOD']=="POST") {
// vanaf dit punt controleren we of de velden zijn ingevoerd.
if(isset($_POST['leeftijd'],$_POST['roken'],$_POST['alcohol'],$_POST['bmi'],$_POST['opleiding']$_POST['woonplaats'])) {
// de waardes bestaan. Doe hier een controle op de leeftijd. Als deze tussen de 18 en 130 ligt, dan kan je aan de hand van $_POST['leeftijd'] steeds een deel van de leeftijd optellen of aftrekken per ingevuld antwoord.
} else {
// één of meerdere waardes zijn niet geplaatst
}
}
?>
// Hier controleren we of het formulier verstuurd is via de POST-methode
if($_SERVER['REQUEST_METHOD']=="POST") {
// vanaf dit punt controleren we of de velden zijn ingevoerd.
if(isset($_POST['leeftijd'],$_POST['roken'],$_POST['alcohol'],$_POST['bmi'],$_POST['opleiding']$_POST['woonplaats'])) {
// de waardes bestaan. Doe hier een controle op de leeftijd. Als deze tussen de 18 en 130 ligt, dan kan je aan de hand van $_POST['leeftijd'] steeds een deel van de leeftijd optellen of aftrekken per ingevuld antwoord.
} else {
// één of meerdere waardes zijn niet geplaatst
}
}
?>