invoer percentueel afhankelijk van voorgaand resultaat.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John Fuijkkink

john Fuijkkink

05/09/2013 11:30:42
Quote Anchor link
bij 1 vraag kan een gebruiker kiezen om 2 verschillende percentages in te voeren

de verdeling kan gezamelijk 100 procent zijn maar mag nooit meer zijn

ik heb onderstaand scriptje gemaakt wat ik naar de database stuur, ophalen en verzenden van de ingevoerde data gaat perfect

maar hoe kan ik de selectie van het tweede veld afhankelijk maken van de eerste invoer.

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<input type="radio" name="B" value="1" <?php if ($button2 == '1') echo 'checked="checked"'; ?>>10%

<input type="radio" name="B" value="2" <?php if ($button2 == '2') echo 'checked="checked"'; ?>>20%

<input type="radio" name="B" value="3" <?php if ($button2 == '3') echo 'checked="checked"'; ?>>30%

<input type="radio" name="B" value="4" <?php if ($button2 == '4') echo 'checked="checked"'; ?>>40%

<input type="radio" name="B" value="5" <?php if ($button2 == '5') echo 'checked="checked"'; ?>>50%

<input type="radio" name="B" value="6" <?php if ($button2 == '6') echo 'checked="checked"'; ?>>60%

<input type="radio" name="B" value="7" <?php if ($button2 == '7') echo 'checked="checked"'; ?>>70%

<input type="radio" name="B" value="8" <?php if ($button2 == '8') echo 'checked="checked"'; ?>>80%

<input type="radio" name="B" value="9" <?php if ($button2 == '9') echo 'checked="checked"'; ?>>90%

<input type="radio" name="B" value="10" <?php if ($button2 == '10') echo 'checked="checked"'; ?>>99%

<input type="radio" name="B" value="11" <?php if ($button2 == '11') echo 'checked="checked"'; ?>>nvt<br>






<input type="radio" name="D" value="1" <?php if ($button4 == '1') echo 'checked="checked"'; ?>>10%

<input type="radio" name="D" value="2" <?php if ($button4 == '2') echo 'checked="checked"'; ?>>20%

<input type="radio" name="D" value="3" <?php if ($button4 == '3') echo 'checked="checked"'; ?>>30%

<input type="radio" name="D" value="4" <?php if ($button4 == '4') echo 'checked="checked"'; ?>>40%

<input type="radio" name="D" value="5" <?php if ($button4 == '5') echo 'checked="checked"'; ?>>50%

<input type="radio" name="D" value="6" <?php if ($button4 == '6') echo 'checked="checked"'; ?>>60%

<input type="radio" name="D" value="7" <?php if ($button4 == '7') echo 'checked="checked"'; ?>>70%

<input type="radio" name="D" value="8" <?php if ($button4 == '8') echo 'checked="checked"'; ?>>80%

<input type="radio" name="D" value="9" <?php if ($button4 == '9') echo 'checked="checked"'; ?>>90%

<input type="radio" name="D" value="10" <?php if ($button4 == '10') echo 'checked="checked"'; ?>>99%

<input type="radio" name="D" value="11" <?php if ($button4 == '11') echo 'checked="checked"'; ?>>nvt<br>


Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 05/09/2013 12:06:37 door Bas IJzelendoorn
 
PHP hulp

PHP hulp

17/11/2024 14:56:47
 
Kris Peeters

Kris Peeters

05/09/2013 12:06:36
Quote Anchor link
Wil je dat stuk code allemaal binnen [code][/code] steken?
(Edit: bij deze ondertussen aangepast...)


--------

- Dus, de tweede set radio buttons ( name="D" ) moet ingekort worden op basis van wat de gebruiker invult in de eerste set radio buttons ( name="B" ).
Juist?

- Wil je dat in real time, met javascript; of wil je dit met php genereren, na een submit?

Verder staat die value="11" mij niet aan. Ik zou daar 0 of -1 van maken. Maar dat zien we dan wel. En vul die percentages gewoon in, in die value. Geen reden om dat te coderen.
Gewijzigd op 05/09/2013 12:30:48 door Kris Peeters
 
Bas IJzelendoorn

Bas IJzelendoorn

05/09/2013 12:39:40
Quote Anchor link
Je zou eens naar jquery kunnen kijken.

Doormiddel van de waardes op te tellen zou kunnen uitrekenen of de waarde hoger zijn dan 100. Als de waardes hoger uit komen disable je de mogelijkheid in het formulier.
 
John Fuijkkink

john Fuijkkink

05/09/2013 13:59:16
Quote Anchor link
in principe mag er nog een rest overblijven even een voorbeeld

stel je hebt een fruitmand en je zegt in de eerste selectie voor 40% is die gevuld met appels
met de tweede selectie zegje hij is voor 30 procent gevuld met peren, de sommatie is dan in ieder geval geen 100% maar meer dan 100 mag in iedergeval niet voor elk scriptje zit nog een ander scriptje met een selectie balkje voor apels peren enz
 
Kris Peeters

Kris Peeters

05/09/2013 14:01:50
Quote Anchor link
in real time, met javascript; of met php, na een submit?
 
John Fuijkkink

john Fuijkkink

05/09/2013 14:17:08
Quote Anchor link
Liefst wil ik dat met PHP als dat mogelijk is 11 had ik gekozen idd ivm met niet van toepassing idd niet handig helemaal mee eens kris
 
Kris Peeters

Kris Peeters

05/09/2013 14:47:36
Quote Anchor link
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
  $values
= array(10, 20, 30, 40, 50, 60, 70, 80, 90, 99, -1);
  $button2 = isset($_GET['B']) ? (int) $_GET['B'] : 0 ;
  $button4 = isset($_GET['D']) ? (int) $_GET['D'] : 0 ;
  $radios  = '';

if (!isset($_GET['B'])) {
  // nog geen eerdere post
  $radios = radio($values, 'B', 'nvt', $button2);
}

elseif (!isset($_GET['D'])) {
  // dus er is al een eerste post geweest, maar nog geen tweede
  $radios = radio($values, 'B', 'nvt', $button2) . '<br>' . PHP_EOL . radio($values, 'D', 'nvt', $button4, (100 - $button2));
}

else {
  // beide buttons ingevuld.  Hier kan je dus beginnen verwerken
  
  echo 'Na de tweede submit<br>';
  echo 'button2: ' . $button2 . '<br>button4: ' . $button4;
  
}


echo '<form action="">' . $radios . ' <br><input type="submit" value="GO"> </form>';
echo '<a href="?">Reset alles</a>';

function
radio($values, $name, $void_caption, $current, $max=0) {
  $result = '';
  foreach ($values as $key=>$value) {
    if ($max > 0 && $value > $max) {
      continue;
    }

    $result .= sprintf(
      '<input type="radio" name="%s" value="%d"%s> %s ',
      $name,
      $value,
      (
$value === $current ? ' checked="checked"' : ''),
      (
$value === -1 ? $void_caption : $value .'%')
    );
  }

  return $result;
}

?>
 
John Fuijkkink

john Fuijkkink

05/09/2013 16:28:18
Quote Anchor link
zo dat is echt fantastisch, hier kan ik wat mee

nu moet ik alleen nog mijn code voor de vraag er tussen voegen

<code>


<select name="A">

<option name="A" value="1"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($button1 == '1') echo 'selected="selected"'; ?>
>Plan</option>

<option name="A" value="2"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($button1 == '2') echo 'selected="selected"'; ?>
>Do</option>

<option name="A" value="3"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($button1 == '3') echo 'selected="selected"'; ?>
>Check</option>

<option name="A" value="4"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($button1 == '4') echo 'selected="selected"'; ?>
>Act</option>

<option name="A" value="5"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($button1 == '5') echo 'selected="selected"'; ?>
>Feedback</option>

</select>
</code>
 
Kris Peeters

Kris Peeters

06/09/2013 13:56:58
Quote Anchor link
Wil je in het vervolg alle code allemaal binnen [code][/code] steken?
Vierkante haakjes; UBB-code

Heb je hier nog een vraag? Nog iets dat niet werkt?

Nu, ik heb nog een opmerking. een <option> heeft geen name="". De name moet je enkel aan de <select> geven.
 
John Fuijkkink

john Fuijkkink

06/09/2013 14:13:24
Quote Anchor link
Beste Kris mijn excusses voor de type missmatch met de UBB code

2 puntje rest mij nog

1) de selectie perpecentage vooraf middels een option
ofwel (appels, peren, bananen, kersen) dan het percentage middel radiobuttons en dan de tweede vraag.

2) daarnaast de mogelijkheid dat de selectie net als hoe ik hem omslachtig en niet geheel correct had geprogrammeerd de vorige invoer ophaalt uit de database

dat laaste is vooral handig zodat er bij meerdere vragen alleen een mutate kan worden gegenereeerd en de gebruiker vooraf kan zien wat hij/zij al eens heeft ingevoerd.


Alvast bedankt waardeer de hulp enorm
 
John Fuijkkink

john Fuijkkink

10/09/2013 19:55:26
Quote Anchor link
iemand nog een idee hoe ik de puzzel kan oplossen ?

Alvast bedankt
 



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.