Getallen via een formulier in array zetten
Ik heb een formuliertje met 1 inputveld. De getallen die ik hier invoer, wil ik in een array zetten, zodat ik bijv gemiddelde, grootste getal, kleinste getal enz kan bepalen van alle getallen die ik heb ingevoerd.
Hoe zorg ik ervoor dat alle invoer in 1 array komt te staan???
Wil je 1 getal per keer invullen of meerdere in een keer en dan direct de berekeningen uitvoeren?
1 getal per keer, want er is maar 1 inputveld.
Gewijzigd op 25/10/2010 16:22:58 door - Mark -
Toen wilde ik getallen achter elkaar optellen. Dus hoefde ik maar 1 getal te onthouden: de som. Dat is toen wel gelukt.
Nu moet ik in feite alle ingevoerde getallen onthouden. Dus ik dacht: ik zet ze in een array. Klopt dat wel?
Als ik alle getallen in een array kan zetten, hoef ik ze toch niet meer te onthouden met een Sessie?
maar als je een getal invult in de input, en je klikt op verzenden en je stopt hem in array , en je wilt vervolgens nog een getal invoeren en in de array zetten , dan wil dat zowiezo al niet aangezien je niks in een array kunt opslaan, je kunt ze eventueel wel in een database stoppen (insert into) of je moet alle getallen gelijk in de de input velt stoppen en dan exploden op de spaties. dan heb heb je array al
LET OP! Er zit geen enkele fout afhandeling in.
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
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
<?php
#| Session starten.
session_start();
#| Controleren of " $_SESSION['getallen'] " al bestaat, zo niet dan maken we deze aan.
if(!isset($_SESSION['getallen'])){
$_SESSION['getallen'] = array();
}
#| Getal toevoegen.
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$_SESSION['getallen'][] = $_POST['getal'];
}
#| De som berekenen van alle getallen in " $_SESSION['getallen'] ".
echo 'De som van de getallen "'.implode(', ', $_SESSION['getallen']).'" is '.array_sum($_SESSION['getallen']).'.';
?>
#| Session starten.
session_start();
#| Controleren of " $_SESSION['getallen'] " al bestaat, zo niet dan maken we deze aan.
if(!isset($_SESSION['getallen'])){
$_SESSION['getallen'] = array();
}
#| Getal toevoegen.
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$_SESSION['getallen'][] = $_POST['getal'];
}
#| De som berekenen van alle getallen in " $_SESSION['getallen'] ".
echo 'De som van de getallen "'.implode(', ', $_SESSION['getallen']).'" is '.array_sum($_SESSION['getallen']).'.';
?>
De eerste 3 stukjes horen boven je html te staan.
kun je ze toch gewoon via $_POST in de array zetten?...
Hoe dan???
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
#Getallen losmaken en in array zetten.
$array = str_split($_POST['getallen'], 1))
?>
#Getallen losmaken en in array zetten.
$array = str_split($_POST['getallen'], 1))
?>
Gewijzigd op 25/10/2010 18:02:45 door Wouter Goyen
Je kunt de string met explode() opblazen zullen we maar zeggen. Je moet dan wel tussen elk getal een spatie of een - of iets anders zetten waarop je de string in stukken kunt delen.
name="field[0]"
name="field[1]"
en dan in PHP print_r($_POST['field])
Hoe groot zijn de getallen maximaal die je wilt gebruiken?
$getallen = explode(',',$_POST['getallen']);