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.


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


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.
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.
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
in real time, met javascript; of met php, na een submit?
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


<?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;
}
?>
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" <?php if ($button1 == '1') echo 'selected="selected"'; ?>>Plan</option>

<option name="A" value="2" <?php if ($button1 == '2') echo 'selected="selected"'; ?>>Do</option>

<option name="A" value="3" <?php if ($button1 == '3') echo 'selected="selected"'; ?>>Check</option>

<option name="A" value="4" <?php if ($button1 == '4') echo 'selected="selected"'; ?>>Act</option>

<option name="A" value="5" <?php if ($button1 == '5') echo 'selected="selected"'; ?>>Feedback</option>

</select>
</code>
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.
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
iemand nog een idee hoe ik de puzzel kan oplossen ?

Alvast bedankt

Reageren