[英]Get existing form with earlier values in sql
我從數據庫中的問題表中獲取問題。
我要保存具有唯一的form_id和user_id的question_id和answer_value來回答數據庫中的表。
我希望用戶能夠在第二天更新表格。 那么,如何根據用戶先前的答案獲取並顯示已經填寫了answer_value的表單?
這就是我顯示數據庫問題的方式:
<form action="/form/insert.php" method="POST">
$query = "SELECT * FROM questions where active=1 AND question_sort=1 ORDER BY sort_by";
$result = @mysqli_query($con, $query);
if ($result) {
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$body = $row['question_body'];
$question_id = $row['question_id'];
echo '<tr>
<td class="question">'.$body.'</td>
<td class="answer"><input type="radio" name="answer_value['.$question_id.']" value="0" ></td>
<td class="answer"><input type="radio" name="answer_value['.$question_id.']" value="1" ></td>
<td class="answer"><input type="radio" name="answer_value['.$question_id.']" value="2" ></td>
</tr>';
}
</form>
這是我將每個unicqe表單保存到db的方式:
$question_id = mysqli_real_escape_string($con, $_POST['question_id']);
$user_id = mysqli_real_escape_string($con, $_POST['user']);
$form_id = mysqli_real_escape_string($con, $_POST['form_id']);
$form_date = gmdate('Y-m-d H:i:s');
foreach ($_POST['answer_value'] as $question_id => $answer_id){
$sql="INSERT INTO answers (question_id, answer_value, user_id, form_id, form_date)
VALUES ({$question_id}, {$answer_id}, $user_id, {$form_id}, '$form_date')";
您必須遍歷這些值並與您存儲的答案值匹配
<form action="/form/insert.php" method="POST">
<?php
$vals=array(0,1,2);
$query = "SELECT * FROM questions where active=1 AND question_sort=1 ORDER BY sort_by";
$result = @mysqli_query($con, $query);
if ($result) {
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$body = $row['question_body'];
$question_id = $row['question_id'];
echo '<tr>
<td class="question">'.$body.'</td>';
foreach($vals as $x){
$s='';
if($x==$row['answer_value']){
$s="selected";
}
echo '<td class="answer"><input type="radio" name="answer_value['.$question_id.']" value="'.$x.'" '.$s.'></td>';
}
echo '</tr>';
}
}
?>
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.