Getallen via een formulier in array zetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pim B

Pim B

25/10/2010 15:54:58
Quote Anchor link
Hoi,

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???
 
PHP hulp

PHP hulp

28/01/2022 13:44:58
 
- Mark -

- Mark -

25/10/2010 15:56:54
Quote Anchor link
Wil je 1 getal per keer invullen of meerdere in een keer en dan direct de berekeningen uitvoeren?
 
Pim B

Pim B

25/10/2010 16:12:16
Quote Anchor link
1 getal per keer, want er is maar 1 inputveld.
 
- Mark -

- Mark -

25/10/2010 16:21:39
Quote Anchor link
Hebben ze je dit niet al eerder uitgelegd? Je zult weer met $_SESSION moeten werken.
Gewijzigd op 25/10/2010 16:22:58 door - Mark -
 
Pim B

Pim B

25/10/2010 16:33:26
Quote Anchor link
Nee, dat was iets anders.
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?
 
Teun Hesseling

Teun Hesseling

25/10/2010 16:37:41
Quote Anchor link
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
 
- Mark -

- Mark -

25/10/2010 16:39:16
Quote Anchor link
het kan zonder een sessie maar het is gemakkelijker met. Je moet de getallen tussentijds ergens opslaan omdat je elke keer 1 getal toevoegt.

LET OP! Er zit geen enkele fout afhandeling in.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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']).'.';

?>


De eerste 3 stukjes horen boven je html te staan.
 
Joakim Broden

Joakim Broden

25/10/2010 16:58:09
Quote Anchor link
Als je de getallen steeds achter elkaar invoert (zonder van de pagina af te gaan)

kun je ze toch gewoon via $_POST in de array zetten?...
 
Pim B

Pim B

25/10/2010 17:11:19
Quote Anchor link
Hoe dan???
 
Wouter Goyen

Wouter Goyen

25/10/2010 17:59:26
Quote Anchor link
Je bedoelt iets zoals dit?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

      #Getallen losmaken en in array zetten.

      $array = str_split($_POST['getallen'], 1))

?>
Gewijzigd op 25/10/2010 18:02:45 door Wouter Goyen
 
- Mark -

- Mark -

25/10/2010 18:36:50
Quote Anchor link
@Wouter Dat werkt alleen voor getallen van 0 t/m 9

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.
 
Pim -

Pim -

25/10/2010 18:43:32
Quote Anchor link
Gewoon arrays gebruiken!
name="field[0]"
name="field[1]"

en dan in PHP print_r($_POST['field])
 
Wouter Goyen

Wouter Goyen

25/10/2010 20:28:26
Quote Anchor link
Hoe groot zijn de getallen maximaal die je wilt gebruiken?
 
Arjan -

Arjan -

25/10/2010 20:37:25
Quote Anchor link
Je kan ook gewoon de gebruiker bijvoorbeeld 1,5,73,54,78,32 in laten voeren in een inputveld en te exploden naar een array, dus:

$getallen = explode(',',$_POST['getallen']);
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.