0
MYSQL 데이터베이스에 여러 데이터를 삽입하는 데 문제가 있습니다. 아래 코드를 사용하면 입력 한 데이터 만 삽입 할 수 있습니다. 3 개의 질문이 있고 3 개의 입력을 제출해야하며 마지막 입력 만 제출했다고 가정 해 보겠습니다.MYSQL 데이터베이스에 여러 데이터 삽입
<?php
include('questionDB.php');
if(isset($_POST['submit'])){
$questionID = $_POST['id'];
$answer = mysql_real_escape_string(htmlspecialchars($_POST['answer']));
$insert = mysql_query("INSERT INTO answers(survey_id, question_id, answer_body) VALUES ('1','" . $questionID . "', '" . $answer . "')");
if ($insert){
echo "Success";
} else {
echo "Failed";
}
}
$startTimeAuc = mysql_query("SELECT startTime FROM questions WHERE survey_id='1'");
$startTime = mysql_fetch_assoc($startTimeAuc);
$startTime = ($startTime['startTime']);
$endTimeAuc = mysql_query("SELECT endTime FROM questions WHERE survey_id='1'");
$endTime = mysql_fetch_assoc($endTimeAuc);
$endTime = ($endTime['endTime']);
$currentTimeAuc =(date("Y-m-d H:i:s"));
if(($currentTimeAuc >= $startTime && $currentTimeAuc <= $endTime)){
?>
<form name="auctionQuestion" method="post">
<?php
$auctionSurvey = "SELECT question_id, survey_id, question_body FROM questions
WHERE survey_id='1'";
$aucResult = mysql_query($auctionSurvey) or die (mysql_error());
while($auctionRow = mysql_fetch_assoc($aucResult)){
echo "<p class=\"questions\">". $auctionRow['question_body']."</p>". "<input type=\"text\" name=\"answer\" class=\"answerField\"><BR>";
?>
<input type="hidden" name="id" value="<?php echo $auctionRow ['question_id'] ?>">
<?php
}
?>
<input type="submit" class="submit" name="submit" value="Submit">
</form>
</div>
<?php
}
?>
2 부에서 의미하는 바를 얻지 못했습니다. 변수의 이름을 변경하려고 시도했기 때문에 결과가 동일합니다. – user3103739
내 편집을 참조하십시오. 나는 당신의 현재 db 구조가 레코드 1-survey_id/question_id/answer, 레코드 2-survey_id/question_id/answer ... 같다고 가정합니다. 제가 제안한 것은 3 개의 질문을 모두 하나의 레코드로 기록 1-survey_id/question_id_1/answer_1/question_id_2/answer_2 ... – Godinall
하지만 제출 버튼을 클릭 할 때 수행했습니다. $ questionID = $ _POST [ 'id']; $ answer = mysql_real_escape_string (htmlspecialchars ($ _ POST [ 'answer'])); – user3103739