Hulp gezocht bij PHP Vragenlijst werkend op Database
Ik ben een scholier uit 6VWO die momenteel bezig is met zijn eind-PO voor informatica. Daarvoor wil ik samen met mijn partner een Custom PC webshop opzetten. De kern van het project ligt echter bij een systeem dat een Custom PC toegankelijker moet maken voor de consument. Ik ben bezig met het creëren van een vragenlijst die de klant kan invullen. Uit die vragenlijst moet dan op basis van de antwoorden een Computer-Pakket komen.
Ik heb 27 PC configuraties samengesteld: 9 PC's Per categorie, waarvan er dan 3 PC's per prijsbudget vallen, en die drie hebben dan een verschillende prijsverhouding binnen dat budget.
Voorbeeld hoe het systeem in elkaar zit:
Vraag 1: Om wat voor soort pc-gebruik gaat het? (27 PC's)
A: Familiecomputer (9 Familie PC's)
B: Game-Computer (9 Game PC's)
C: Werk (9 Werk Pc's)
<<Stel de klant klikt C aan, dan blijven dus de 9 Werk PC's over)
Vraag 2: Hoeveel wilt u ongeveer aan de pc uitgeven? (9 Werk PC's)
A: Minder dan 650 euro (3 Goedkoopste Werk PC's)
B: Tussen de 650 en 1200 euro (3 Middenklasse Werk PC's)
C: Meer dan 1200 euro (3 Duurste Werk PC's)
<<Stel de gebruiker kiest B, dan blijven de 3 Werk PC's tussen de 650 en 1200 Euro Over>>
Vraag 3: In hoeverre moet de PC presteren? (3 Werk PC's)
A: Duurste Optie binnen het budget (Goedkoopste Werk-PC Binnen prijscategorie)
B: Goedkoopste optie binnen het budget (Middenoptie Werk-PC Binnen prijscategorie)
C: Middencategorie binnen het budget (DuursteWerk-PC Binnen prijscategorie)
<<Stel de gebruiker kiest C, dan is dus die PC-Configuratie het beste voor de klant>>
De vragenlijst is dus als het ware een soort filtersysteem wat dus de 27 PC configuraties door middel van de vragen filtert naar 1 PC configuratie, die de klant dan vervolgens krijgt te zien als hij de uitslag van de "test" wilt bekijken.
Ik heb alle PC configuraties in een Database gezet, dus er hoeft dus niet eindeloze specificaties in de PHP code, dit kan dus hoop ik door middel van SQL gedaan worden.
Mijn probleem is dat ik het moeilijk vind om een basisstructuur aan een code te geven die de PC's dus kan gaan filteren, en hoe ik dan uiteindelijk het resultaat van de test kan weergeven aan de klant.
Is het bijvoorbeeld mogelijk om de vragen in de Database te zetten en dan de verschillenden antwoorden een waarde te geven die dat vervolgens doorschakelt naar de SQL filter (dus dat de SQL dan SELECT from "x" etc.), of is een ander systeem handiger?
Ik hoop dat ik hiermee jullie lezers genoeg ingelicht heb over de situatie. Het zou erg fijn zijn als er goede suggesties/uitleg binnen komen rollen, want dat kan zomaar dat zetje zijn dat ik nodig heb om verder te kunnen : >!
Alvast Bedankt!
Groeten,
Reinier
Gewijzigd op 03/02/2014 15:20:20 door Reinier -
Wil je met Javascript of met PHP werken? Met javascript kan je "Onchange" en "Onclick" gebruiken, met PHP kan je controleren wat er gepost is en daarbij de Query uitvoeren.
Ik zou liever met PHP willen werken, maar het ligt er maar net aan wat het handigst is.
Wat heb je al?
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
49
50
51
52
53
54
55
56
57
58
59
60
<?php
if(isset($_POST['familiePC'])){
?>
<form method="POST" action="">
Vraag 2: Hoeveel wilt u ongeveer aan de PC uitgeven?<br><br>
<select>
<option value="Select" DISABLED SELECTED>Selecteer uw prijsklasse</option>
<option value="prijsPC1familie">Minder dan 650 euro</option>
<option value="prijsPC2familie">Tussen de 650 en 1200 euro</option>
<option value="prijsPC3familie">Meer dan 1200 euro</option>
<input type="hidden" name="vraag1antwoord" value="familiePC">
<br><input type="submit" name="subvraag2" value="Insturen">
</select>
</form>
<?php
exit();
}
if(isset($_POST['gamePC'])){
?>
<form method="POST" action="">
Vraag 2: Hoeveel wilt u ongeveer aan de PC uitgeven?<br><br>
<select>
<option value="Select" DISABLED SELECTED>Selecteer uw prijsklasse</option>
<option value="prijsPC1game">Minder dan 650 euro</option>
<option value="prijsPC2game">Tussen de 650 en 1200 euro</option>
<option value="prijsPC3game">Meer dan 1200 euro</option>
<input type="hidden" name="vraag1antwoord" value="gamePC">
<br><input type="submit" name="subvraag2" value="Insturen">
</select>
</form>
<?php
exit();
}
if(isset($_POST['werkPC'])){
?>
<form method="POST" action="">
Vraag 2: Hoeveel wilt u ongeveer aan de PC uitgeven?<br><br>
<select>
<option value="Select" DISABLED SELECTED>Selecteer uw prijsklasse</option>
<option value="prijsPC1werk">Minder dan 650 euro</option>
<option value="prijsPC2werk">Tussen de 650 en 1200 euro</option>
<option value="prijsPC3werk">Meer dan 1200 euro</option>
<input type="hidden" name="vraag1antwoord" value="werkPC">
<br><input type="submit" name="subvraag2" value="Insturen">
</select>
</form>
<?php
exit();
}
?>
<form method="POST" action="">
Om wat voor soort pc-gebruik gaat het?<br><br>
<select>
<option value="Select" DISABLED SELECTED>Selecteer uw soort PC</option>
<option value="familiePC">Familiecomputer</option>
<option value="gamePC">Game-Computer</option>
<option value="werkPC">Werk-Computer</option>
</select>
<br><input type="submit" name="subvraag1" value="Insturen">
</form>
if(isset($_POST['familiePC'])){
?>
<form method="POST" action="">
Vraag 2: Hoeveel wilt u ongeveer aan de PC uitgeven?<br><br>
<select>
<option value="Select" DISABLED SELECTED>Selecteer uw prijsklasse</option>
<option value="prijsPC1familie">Minder dan 650 euro</option>
<option value="prijsPC2familie">Tussen de 650 en 1200 euro</option>
<option value="prijsPC3familie">Meer dan 1200 euro</option>
<input type="hidden" name="vraag1antwoord" value="familiePC">
<br><input type="submit" name="subvraag2" value="Insturen">
</select>
</form>
<?php
exit();
}
if(isset($_POST['gamePC'])){
?>
<form method="POST" action="">
Vraag 2: Hoeveel wilt u ongeveer aan de PC uitgeven?<br><br>
<select>
<option value="Select" DISABLED SELECTED>Selecteer uw prijsklasse</option>
<option value="prijsPC1game">Minder dan 650 euro</option>
<option value="prijsPC2game">Tussen de 650 en 1200 euro</option>
<option value="prijsPC3game">Meer dan 1200 euro</option>
<input type="hidden" name="vraag1antwoord" value="gamePC">
<br><input type="submit" name="subvraag2" value="Insturen">
</select>
</form>
<?php
exit();
}
if(isset($_POST['werkPC'])){
?>
<form method="POST" action="">
Vraag 2: Hoeveel wilt u ongeveer aan de PC uitgeven?<br><br>
<select>
<option value="Select" DISABLED SELECTED>Selecteer uw prijsklasse</option>
<option value="prijsPC1werk">Minder dan 650 euro</option>
<option value="prijsPC2werk">Tussen de 650 en 1200 euro</option>
<option value="prijsPC3werk">Meer dan 1200 euro</option>
<input type="hidden" name="vraag1antwoord" value="werkPC">
<br><input type="submit" name="subvraag2" value="Insturen">
</select>
</form>
<?php
exit();
}
?>
<form method="POST" action="">
Om wat voor soort pc-gebruik gaat het?<br><br>
<select>
<option value="Select" DISABLED SELECTED>Selecteer uw soort PC</option>
<option value="familiePC">Familiecomputer</option>
<option value="gamePC">Game-Computer</option>
<option value="werkPC">Werk-Computer</option>
</select>
<br><input type="submit" name="subvraag1" value="Insturen">
</form>
Dit is even een kort voorbeeld voor de 1e 2 vragen. Deze verstuur je dan ook weer etc. Ik heb er voor jou, aangezien je op het eind de resultaten wilt zien een extra box met HIDDEN erin gezet. Hier staan de oude gegevens opgeslagen.
- SanThe - op 03/02/2014 16:44:33:
Wat heb je al?
Hele Database is af. Daarna was ik bezig met het uitvoeren van de vragenlijst door ze daar in te voeren en dan door middel van php&sql combi, maar daar liep ik dus vast.
Toevoeging op 03/02/2014 17:18:44:
Dankjewel voor het voorbeeld Frank. Ik ga kijken hoever ik ermee kan komen. Overige suggesties van andere partijen blijven altijd welkom ^_^
Toevoeging op 04/02/2014 13:32:51:
Frank, als het via de manier van het voorbeeldje zou doen, zou ik dan aan het einde als het resultaat weergeven wordt refereren met SQL naar het pakket dat in de Database staat?