Hallo,

Voor school ben ik bezig met een project om een enquete te ontwikkelen. Dat is natuurlijk geen probleem, maar nou is de bedoeling dat deze enquete online kan worden gezet, en dat er bepaalde conclusies worden getrokken bij elke “uitslag”.

Ik zal het proberen wat nader toe te lichten aan de hand van een klein voorbeeld:

Er zijn 9 categorien met vragen, die elk op een aparte pagina moeten worden weergegeven. Het zijn allemaal ja/nee vragen, die met een zgn. radio-button worden beantwoord (dus er kan maar 1 vraag worden aangeklikt). Als 0-25% van de antwoorden ‘ja’ is, is conclusie A van toepassing. Als 26-50% van de antwoorden ‘ja’ is, is conclusie B van toepassing. Enzovoorts.

Nou is het dus de bedoeling dat, zodra een gebruiker de laatste categorie heeft ingevuld, dat er dus conclusies op het scherm worden weergegeven van alle 9 categorien. Er moet in het begin NAW-gegevens worden ingevoerd.

Ik denk dat het ongeveer zo moet werken: Iemand vult zijn gegevens in, die worden opgeslagen in een database. Vervolgens begint hij aan de 1e categorie. Deze vragen worden ingevuld en op het eind klikt hij op ‘verder’ o.i.d. Hiermee wordt de conclusie van categorie 1 “berekend” en in de database gezet, onder de tabel 1. Hetzelfde geldt voor de 2e categorie: De vragen worden beantwoord, en op het eind wordt de conclusie in de database gezet en wordt er verder gegaan naar de volgende categorie. En zo gaat dat dus door tot dat alle 9 categorien zijn ingevuld. Dan verschijnt op de volgende pagina een overzicht met de verschillende conclusies, die worden opgehaald uit de database.

Goed, ik weet het allemaal heel goed te vertellen, maar heb niet de technische kennis om het ook te realiseren. Is er iemand die tips/suggesties heeft voor mij?

Alvast bedankt.
Dank je, Jan. Het is gelukt.

Nu is het de bedoeling dat de antwoorden worden opgeslagen in een database. Indien 'ja' wordt aangevinkt, komt er een 1 in de betreffende tabel te staan, indien 'nee' is aangevinkt, komt er 0 te staan.

Ik heb al een tabel aangemaakt, met daarin 8 kolommen (want er zijn 8 vragen). De kolommen heten 'vraag1', 'vraag2', etc. De tabel heet 'categorie1'.

Ik denk dat het volgens de volgende methode moet:

mysql_query("INSERT INTO categorie1 (vraag1, vraag2, vraag3, vraag4, vraag5, vraag6, vraag7, vraag8) VALUES ('$_POST[vraag1]', '$_POST[vraag2]', '$_POST[vraag3]', '$_POST[vraag4]', '$_POST[vraag5]', '$_POST[vraag6]', '$_POST[vraag7]', '$_POST[vraag8]' )");

Ik weet niet of ik in de goede richting zit met bovenstaande, maar het lijkt me dat er sowieso ergens moet worden ingegeven dat er een 0 of een 1 moet worden ingevoerd. Of moet ik dan bij de value in het form "1" i.p.v. "ja" inoeren en "0" i.p.v. "nee"? Dus zo:

<input name="vraag1" type="radio" value="1">
<input name="vraag1" type="radio" value="0">

In plaats van:

<input name="vraag1" type="radio" value="ja">
<input name="vraag1" type="radio" value="nee">

Zit ik op de goede weg of doe ik wat verkeerd? Tips zijn zeer welkom, ik weet bijvoorbeeld niet op welke manier ik nou de ja of nee-antwoorden zo moet instellen dat er een 1 of 0 wordt opgeslagen in de database.
Ik denk dat het met die strategie wel moet lukken, ja. Als veldtype kun je TINYINT gebruiken voor die 0 of die 1. De waarden die je terugkrijgt uit je formulier zijn niet echt getallen, maar strings, maar ik vermoed dat ze wel automatisch naar een int gecast zullen worden door MySQL. Mocht dat niet lukken dan kun je er cijfers van maken met intval($_POST['vraag1']) enz.
Ik doe wat verkeerd denk ik, ik weet alleen niet wat.

Ik heb een tabel genaamd 'categorie1', met de velden 'vraag1', 'vraag2', 'vraag3', etcetera (t/m 'vraag8'). Het type is VARCHAR, maximaal 10 tekens.

Onderstaande pagina heb ik. Als ik echter op de submit-button druk, gebeurt er niks... hij slaat de waarden niet op in de database, en de volgende pagina wordt niet geladen.

<html>
<head>
<title>Onderdeel 1</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<p align="center"><strong>Onderdeel 1: </strong></p>
<?
if($_POST[Submit]){
mysql_query("INSERT INTO categorie1 (vraag1, vraag2, vraag3, vraag4, vraag5, vraag6, vraag7, vraag8) VALUES ('$_POST[vraag1]', '$_POST[vraag2]', '$_POST[vraag3]', '$_POST[vraag4]', '$_POST[vraag5]', '$_POST[vraag6]', '$_POST[vraag7]', '$_POST[vraag8]')");
header("Location: 2.php");
}
?>

<div align="center">
<table width="562" border="1">
<tr>
<th width="457" scope="col">Stelling</th>
<th width="95" scope="col">Antwoord</th>
</tr>
<form method="post" action="">
<tr>
<td>Stelling1</td>
<td><input type="radio" name="vraag1" value="ja">ja
<br>
<input type="radio" name="vraag1" value="nee">nee
</td>
</tr>

<tr>
<td>Stelling 2</td>
<td><input type="radio" name="vraag2" value="ja">ja
<br>
<input type="radio" name="vraag2" value="nee">nee
</td>
</tr>

<tr>
<td>Stelling 3</td>
<td><input type="radio" name="vraag3" value="ja">ja
<br>
<input type="radio" name="vraag3" value="nee">nee
</td>
</tr>

<tr>
<td>Stellling 4</td>
<td><input type="radio" name="vraag4" value="ja">ja
<br>
<input type="radio" name="vraag4" value="nee">nee
</td>
</tr>

<tr>
<td>Stelling 5</td>
<td><input type="radio" name="vraag5" value="ja">ja
<br>
<input type="radio" name="vraag5" value="nee">nee
</td>
</tr>

<tr>
<td>Stelling 6</td>
<td><input type="radio" name="vraag6" value="ja">ja
<br>
<input type="radio" name="vraag6" value="nee">nee
</td>
</tr>

<tr>
<td>Stelling 7</td>
<td><input type="radio" name="vraag7" value="ja">ja
<br>
<input type="radio" name="vraag7" value="nee">nee
</td>
</tr>

<tr>
<td>Stelling 8</td>
<td><input type="radio" name="vraag8" value="ja">ja
<br>
<input type="radio" name="vraag8" value="nee">nee
</td>
</tr>
</form>
</table>

<p>
<input type="submit" name="Submit" value="Stuur!"> </p>

</div>
</body>
</html>

Iemand enig idee wat ik fout heb staan?
Schrijfwijze is niet goed.

$_POST[Submit]

moet zijn

$_POST['Submit']

en dat geldt voor alle POST en GET dingen.

En bij de query zou ik de vars buiten de "" zetten, dus

<?php
mysql_query("INSERT INTO categorie1 (vraag1, vraag2, vraag3, vraag4, vraag5, vraag6, vraag7, vraag8) VALUES ('" . $_POST['vraag1'] . "', '" . $_POST['vraag1'] . "', '" . $_POST['vraag2'] . "', '" . $_POST['vraag3'] . "', '" . $_POST['vraag4'] . "', '" . $_POST['vraag5'] . "', '" . $_POST['vraag6'] . "', '" . $_POST['vraag7'] . "', '" . $_POST['vraag8'] . "')");
?>

Reageren