Hallo allemaal,
ik hoop dat jullie me kunnen helpen met dit stukje php code.
wat ik wil doen is het volgende
ik heb een database met vragen, deze vragen kunnen 4 typen zijn:
Ja/nee,
open,
meerkeuze
meerdere antwoorden ( opties genoemd)
Deze vragen staan in de tabel en hebben een eigen vraag id (PVID)
een PHP pagina haalt de vragen uit de tabel en haalt de mogelijke antwoorden uit een andere tabel.
Vervolgens worden de ingevulde antwoorden naar update.php gestuurd die de antwoorden middels de update funtie update in de database.
dit gaat goed voor alle vraag typen met uitzondering van de vraag type opties.
voor dit vraag type moet eerst een implode functie gebruikt worden.
met de implode functie lukt het me om de antwoorden bij elkaar in variabele te zetten en dus in de database.
Het probleem is dat er meerder vragen op het scherm staan en dat er dus ook meerdere 'optie' vragen zijn.
De waarden van al deze 'optie' vragen worden bij elkaar in 1 variabele gezet. Dit moet dus per vraag zijn.
bijvoorbeeld vraag 1 heeft antwoord: 1 en 2 vraag 2 heeft antwoord c en d
dit wordt door de implode funtie 1,2,c,d
hier de codes:
dit is de pagina met vragen
ik hoop dat jullie me kunnen helpen met dit stukje php code.
wat ik wil doen is het volgende
ik heb een database met vragen, deze vragen kunnen 4 typen zijn:
Ja/nee,
open,
meerkeuze
meerdere antwoorden ( opties genoemd)
Deze vragen staan in de tabel en hebben een eigen vraag id (PVID)
een PHP pagina haalt de vragen uit de tabel en haalt de mogelijke antwoorden uit een andere tabel.
Vervolgens worden de ingevulde antwoorden naar update.php gestuurd die de antwoorden middels de update funtie update in de database.
dit gaat goed voor alle vraag typen met uitzondering van de vraag type opties.
voor dit vraag type moet eerst een implode functie gebruikt worden.
met de implode functie lukt het me om de antwoorden bij elkaar in variabele te zetten en dus in de database.
Het probleem is dat er meerder vragen op het scherm staan en dat er dus ook meerdere 'optie' vragen zijn.
De waarden van al deze 'optie' vragen worden bij elkaar in 1 variabele gezet. Dit moet dus per vraag zijn.
bijvoorbeeld vraag 1 heeft antwoord: 1 en 2 vraag 2 heeft antwoord c en d
dit wordt door de implode funtie 1,2,c,d
hier de codes:
dit is de pagina met vragen
dit is de update.php pagina<?php
include "../connect.php";
$pid = $_GET['pid'];
echo "<title>Product vragen</title>";
echo "<h1>Product vragen beantwoorden / wijzigen</h1>";
$sql_prdvr = "Select * from Prodvra Where pid=$pid ";
$resultaat_prdvr = mysql_query($sql_prdvr) or die ("fout bij uitvoeren");
echo "<form action='update.php' method='post'>";
echo "<br><center><input type='submit' name='send' value='Verstuur'></center><br>";
echo "<table>";
echo "<tr><th class='row1'>Vraag</th><th class='row1' colspan='3'>Antwoord</th></tr> ";
while ($record = mysql_fetch_assoc($resultaat_prdvr)){
echo "<input type='hidden' name='pvid[]' value='$record[pvid]'>";
echo "<input type='hidden' name='pid[]' value='$record[pid]'>";
echo "<input type='hidden' name='type[]' value='$record[type]'>";
echo "<tr><td>$record[vraag]:</td>";
// hier wordt de met if codes de actie voor de typen vraag bepaald
// hier is de if een opties vraag
if ($record[type]=='opties') {$sql_vrant = "Select * from Vrant Where vid=$record[vid] ";
$antwoord = mysql_query($sql_vrant) or die ("fout bij uitvoeren");
echo "<INPUT TYPE='hidden' NAME='antwoord[]' VALUE='$record[pvid]'><br>";
echo "<td>";
while ($antw = mysql_fetch_assoc($antwoord)){
echo "<INPUT TYPE='checkbox' NAME='optie[]' VALUE='$antw[antwoord]'>$antw[antwoord]<br>";
}
echo "</td>";
}
echo "</td></tr>";
}
?>
<?php
include "../connect.php";
$size = count($_POST['antwoord']);
$i = 0;
while ($i < $size) {
//$optie= $_POST['optie'][$i];
$antwoord= $_POST['antwoord'][$i];
$pvid = $_POST['pvid'][$i];
$pid = $_POST['pid'][$i];
$type=$_POST['type'][$i];
if ($type=='opties') {
$antwoord = implode(",", $_POST['optie']);
}
//echo "pvid: $pvid<br>";
//echo "antwoord: $antwoord<br>";
//echo "type: $type<br>";
$query = "UPDATE Prodvra SET `antwoord` = '$antwoord' WHERE `pvid` = '$pvid' LIMIT 1";
mysql_query($query) or die ("Error in query: $query");
++$i;
}
//header ("location:antwoorden.php?pid=$pid");
?>