Ik zoek een html radio tel tutorial
Ik ben erg onervaren met PhP maar ik wil het graag leren. Ik zoek dus een tutorial om (ik weet niet of het uberhaupt zonder database kan) alle radio html (ronde keuzevakjes) boxes te tellen en die weer te geven.
Er zijn 23 vragen en als mensen dus 19 met ja invullen, moet (na het posten) dus daaronder komen te staan antwoord: 19. (er zijn dan 3 antwoorden 0-7,7-...maar dat maakt allemaal niet uit)
Ik heb het al gegoogeld en andere dingen maar ik kan geen fatsoenlijke tel tutorial vinden.
Mvg,
Webtry
Laat je formulier is zien, dan kunnen we beter helpen.
Code (php)
1
2
2
<input type="radio" name="ja[]" value="vraag_1"> Ja
<input type="radio" name="nee[]" value="vraag_1"> Ja
<input type="radio" name="nee[]" value="vraag_1"> Ja
Dan kan je zoiets gebruiken in PHP:
Code (php)
Even heel simpel hoor.
@eddy krijg je op jou manier niet de mogelijkheid om maar 1 radiobutton te vinken ?
@Reshad, nee...op de manier van Eddy worden de waardes van de input in een array gestopt
Ik zou de vragen gewoon in een array gooien. Onderstaande zijn losse stukjes.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
# De lijst met vragen.
$vragen = array('Vraag 1', 'Vraag 2', 'Vraag 3'); // En zo verder.
?>
# De lijst met vragen.
$vragen = array('Vraag 1', 'Vraag 2', 'Vraag 3'); // En zo verder.
?>
In je formulier kun je met onderstaande de vragenlijst weergeven.
Code (php)
En om te kijken hoeveel vragen er met ja zijn beantwoord kun je hetvolgende doen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
<form name="Zelftest" action="FormCount.php" method="POST">
<input type="radio" name="Ja[]" value="Vraag1"> Ja
<input type="radio" name="Nee[]" value="Vraag1"> Nee
<br>
<input type="radio" name="Ja[]" value="Vraag2"> Ja
<input type="radio" name="Nee[]" value="Vraag2"> Nee
<br>
<input type="radio" name="Ja[]" value="Vraag3"> Ja
<input type="radio" name="Nee[]" value="Vraag3"> Nee
<br>
<input type="radio" name="Ja[]" value="vraag4"> Ja
<input type="radio" name="Nee[]" value="Vraag4"> Nee
<br>
<input type="radio" name="Ja[]" value="Vraag5"> Ja
<input type="radio" name="Nee[]" value="Vraag5"> Nee
<br>
<input type="submit" value="Bereken score">
?>
<form name="Zelftest" action="FormCount.php" method="POST">
<input type="radio" name="Ja[]" value="Vraag1"> Ja
<input type="radio" name="Nee[]" value="Vraag1"> Nee
<br>
<input type="radio" name="Ja[]" value="Vraag2"> Ja
<input type="radio" name="Nee[]" value="Vraag2"> Nee
<br>
<input type="radio" name="Ja[]" value="Vraag3"> Ja
<input type="radio" name="Nee[]" value="Vraag3"> Nee
<br>
<input type="radio" name="Ja[]" value="vraag4"> Ja
<input type="radio" name="Nee[]" value="Vraag4"> Nee
<br>
<input type="radio" name="Ja[]" value="Vraag5"> Ja
<input type="radio" name="Nee[]" value="Vraag5"> Nee
<br>
<input type="submit" value="Bereken score">
?>
en exact zijn php code gekopieerd
Code (php)
krijg ik dit:
"" Je koos 1 keer Ja.
En (dus) 1 keer Nee.
Warning: implode() [function.implode]: Invalid arguments passed in C:\Path\FormCount.php on line 6
De vragen die je met Nee beantwoordde: ""
Ik kan ook maar 1 van de 5 ja's aanvinken en 1 van de 5 nee's. Ik denk dat dit makkelijk optelossen is maar ben dus eigenlijk net begonnen dus hoe precies weet ik niet.
Toevoeging op 04/01/2013 14:48:19:
Ik ga eens kijken hoe het werkt als ik er ID's aan toevoeg
Gewijzigd op 04/01/2013 14:11:10 door Henk Guuwis
ID's gaan geen verschil uitmaken. Heb je al eens naar mijn voorbeeld gekeken? Let er wel op dat je nog foutafhandeling moet toevoegen.
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
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
<?php
if ($_SERVER['REQUEST_METHOD']=="POST")
{
$aantal = array_count_values($_POST);
echo "Je antwoorde " . $aantal['Ja'] . " keer ja, en dus " . $aantal['Nee'] . " keer nee.<br>";
foreach($_POST as $k=>$v)
{
echo $k . ": " . $v . "<br>";
}
}
?>
<form method='POST'>
<input type="radio" name="vraag_1" value="Ja"> Ja
<input type="radio" name="vraag_2" value="Nee"> Nee
<br>
<input type="radio" name="vraag_2" value="Ja"> Ja
<input type="radio" name="vraag_2" value="Nee"> Nee
<br>
<input type="radio" name="vraag_3" value="Ja"> Ja
<input type="radio" name="vraag_3" value="Nee"> Nee
<br>
<input type="radio" name="vraag_4" value="Ja"> Ja
<input type="radio" name="vraag_4" value="Nee"> Nee
<br>
<input type="radio" name="vraag_5" value="Ja"> Ja
<input type="radio" name="vraag_5" value="Nee"> Nee
<br>
<input type="submit" value="Bereken score">
</form>
if ($_SERVER['REQUEST_METHOD']=="POST")
{
$aantal = array_count_values($_POST);
echo "Je antwoorde " . $aantal['Ja'] . " keer ja, en dus " . $aantal['Nee'] . " keer nee.<br>";
foreach($_POST as $k=>$v)
{
echo $k . ": " . $v . "<br>";
}
}
?>
<form method='POST'>
<input type="radio" name="vraag_1" value="Ja"> Ja
<input type="radio" name="vraag_2" value="Nee"> Nee
<br>
<input type="radio" name="vraag_2" value="Ja"> Ja
<input type="radio" name="vraag_2" value="Nee"> Nee
<br>
<input type="radio" name="vraag_3" value="Ja"> Ja
<input type="radio" name="vraag_3" value="Nee"> Nee
<br>
<input type="radio" name="vraag_4" value="Ja"> Ja
<input type="radio" name="vraag_4" value="Nee"> Nee
<br>
<input type="radio" name="vraag_5" value="Ja"> Ja
<input type="radio" name="vraag_5" value="Nee"> Nee
<br>
<input type="submit" value="Bereken score">
</form>
Gewijzigd op 04/01/2013 15:28:05 door Tim van Norde
Henk Guuwis op 04/01/2013 13:36:33:
Ik kan ook maar 1 van de 5 ja's aanvinken en 1 van de 5 nee's. Ik denk dat dit makkelijk optelossen is maar ben dus eigenlijk net begonnen dus hoe precies weet ik niet.
Toevoeging op 04/01/2013 14:48:19:
Ik ga eens kijken hoe het werkt als ik er ID's aan toevoeg
Ik kan ook maar 1 van de 5 ja's aanvinken en 1 van de 5 nee's. Ik denk dat dit makkelijk optelossen is maar ben dus eigenlijk net begonnen dus hoe precies weet ik niet.
Toevoeging op 04/01/2013 14:48:19:
Ik ga eens kijken hoe het werkt als ik er ID's aan toevoeg
zoals ik al voorspelde :)
Tim, moet bij Count_Value niet worden aagegeven welk value hij moet tellen? want als ik je code run dan blijft het stukje .aantal (waar dus een getal moet staan) leeg, zowel bij ja en nee, dus ik denk dat het script niet de ja en nee values telt van de radio opties.
Ik tel het aantal keer 'Ja' dat in de array $_POST zit. $_POST bevat alles wat je met dat formulier hebt verstuurd. Ik weet 100% zeker dat mijn code zou moeten werken, ik zou zeggen test het eens :)
Edit
Getest:
Gewijzigd op 04/01/2013 15:49:39 door Tim van Norde
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
if(isset($_POST['antwoorden'])){
$aantal_ja_antwoorden = count(array_keys($_POST['antwoorden'], 1));
echo 'Aantal ja '.$aantal_ja_antwoorden;
}
# De lijst met vragen.
echo '<form action="vragen.php" method="post">';
$vragen = array('Vraag 1', 'Vraag 2', 'Vraag 3'); // En zo verder.
echo '<ul>';
foreach($vragen as $id => $vraag){
echo '<li>'.$vraag.' <input type="radio" name="antwoorden['.$id.']" value="1">Ja <input type="radio" name="antwoorden['.$id.']" value="0">Nee</li>';
}
echo '</ul><input type="submit" value="zenden">';
?>
if(isset($_POST['antwoorden'])){
$aantal_ja_antwoorden = count(array_keys($_POST['antwoorden'], 1));
echo 'Aantal ja '.$aantal_ja_antwoorden;
}
# De lijst met vragen.
echo '<form action="vragen.php" method="post">';
$vragen = array('Vraag 1', 'Vraag 2', 'Vraag 3'); // En zo verder.
echo '<ul>';
foreach($vragen as $id => $vraag){
echo '<li>'.$vraag.' <input type="radio" name="antwoorden['.$id.']" value="1">Ja <input type="radio" name="antwoorden['.$id.']" value="0">Nee</li>';
}
echo '</ul><input type="submit" value="zenden">';
?>
Gewijzigd op 04/01/2013 15:54:25 door Lano Heeren
Dankjewel tim, op die manier werkt het, ik testte verkeerd, domme ikke! en lano, hartelijk dank voor je code (alle voorgangers ook) maar ik wou het graag een beetje simpel houden, toch echt bedankt voor de tijd van iedereen!