我正在使用此代码:
<?php
if(isset($_POST["submit"]))
{
$num = $_POST['number'];
for ($i = 0; $i < $num; $i++)
{
if($i==0)
{
echo '0';
$answer1 = $_POST["answer1"];
$answer2 = $_POST["answer2"];
$answer3 = $_POST["answer3"];
$answer4 = $_POST["answer4"];
$answer5 = $_POST["answer5"];
$answer6 = $_POST["answer6"];
$answer7 = $_POST["answer7"];
$answer8 = $_POST["answer8"];
}
else
{
echo 'no 0';
$answer1 = $_POST["answer1$i"];
$answer2 = $_POST["answer2$i"];
$answer3 = $_POST["answer3$i"];
$answer4 = $_POST["answer4$i"];
$answer5 = $_POST["answer5$i"];
$answer6 = $_POST["answer6$i"];
$answer7 = $_POST["answer7$i"];
$answer8 = $_POST["answer8$i"];
}
//then insert the line items into the lineitems table with the bill sequence from the adhocbills table
$sql="INSERT into surveys_completed (survey_sequence, question_seq, answer1, answer2, answer3, answer4, answer5, answer6, answer7, answer8) values ('".$_POST["survey_sequence"]."', '".$_POST["question_seq"]."', '".$answer1."', '".$answer2."', '".$answer3."', '".$answer4."', '".$answer5."', '".$answer6."', '".$answer7."', '".$answer8."')";
$rs=mysql_query($sql,$conn) or die(mysql_error());
echo $sql.'<br><br>';
}
}
?>
<?php
/*
if(mysql_real_escape_string($_GET["string"]) == '')
{
echo 'No Survey was selected';
exit();
} */
if(mysql_real_escape_string($_GET["company"]) != '')
{
//sql for company
$sql="SELECT * from surveys where company = '".mysql_real_escape_string($_GET["company"])."' and string = '".mysql_real_escape_string($_GET["string"])."' ";
}
elseif(mysql_real_escape_string($_GET["string"]) != '')
{
//sql for string
$sql="SELECT * from surveys where string = '".mysql_real_escape_string($_GET["string"])."' ";
}
$rs=mysql_query($sql,$conn) or die(mysql_error());
$survey=mysql_fetch_array($rs);
echo '<h3>'.$survey["title"].'</h3>';
?>
<form method="post" action="/home.php?id=surveys/complete_survey">
<table width="600" border="0" cellspacing="5" cellpadding="5">
<?php
$sql2="SELECT * from surveys_questions where survey_seq = '".$survey["sequence"]."' ";
$rs2=mysql_query($sql2,$conn) or die(mysql_error());
$counter=0;
while($survey_questions=mysql_fetch_array($rs2))
{
$counter++;
?>
<tr>
<td colspan="2"><strong><?php echo $counter; ?>. <?php echo $survey_questions["question"]; ?></strong>
COUNTER<input type="text" name="number" id="number" value="<?php echo $counter; ?>" />
SURVEY<input type="text" name="survey_sequence" id="survey_sequence" value="<?php echo $survey["sequence"]; ?>" />
QUESTION<input type="text" name="question_seq" id="question_seq" value="<?php echo $survey_questions["sequence"]; ?>" /></td>
</tr>
<tr>
<td><?php if($survey_questions["answer1"] != '') { echo '<input type="checkbox" name="answer1'.$counter.'" value="Y" /> '.$survey_questions["answer1"]; } ?></td>
<td><?php if($survey_questions["answer2"] != '') { echo '<input type="checkbox" name="answer2'.$counter.'" value="Y" /> '.$survey_questions["answer2"]; } ?></td>
</tr>
<tr>
<td><?php if($survey_questions["answer3"] != '') { echo '<input type="checkbox" name="answer3'.$counter.'" value="Y" /> '.$survey_questions["answer3"]; } ?></td>
<td><?php if($survey_questions["answer4"] != '') { echo '<input type="checkbox" name="answer4'.$counter.'" value="Y" /> '.$survey_questions["answer4"]; } ?></td>
</tr>
<tr>
<td><?php if($survey_questions["answer5"] != '') { echo '<input type="checkbox" name="answer5'.$counter.'" value="Y" /> '.$survey_questions["answer5"]; } ?></td>
<td><?php if($survey_questions["answer6"] != '') { echo '<input type="checkbox" name="answer6'.$counter.'" value="Y" /> '.$survey_questions["answer6"]; } ?></td>
</tr>
<tr>
<td><?php if($survey_questions["answer7"] != '') { echo '<input type="checkbox" name="answer7'.$counter.'" value="Y" /> '.$survey_questions["answer7"]; } ?></td>
<td><?php if($survey_questions["answer8"] != '') { echo '<input type="checkbox" name="answer8'.$counter.'" value="Y" /> '.$survey_questions["answer8"]; } ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="2"><input type="submit" name="submit" id="submit" value="Complete Survey" />
</tr>
</table>
</form>
所以每次都会有不同数量的问题,我需要一种方法让它们插入数据库(每行一个问题)
共有3个表格:
调查
surveys_questions
survey_completed
surveys_completed 表是放置所有用户答案的地方。
任何想法?
答案 0 :(得分:0)
将答案放在数组中并在查询中展开它们。可以根据数组中的数量生成查询中的列名称。
另一点:避免使用mysql_*
- 函数,使用mysqli
或PDO,因为mysql
将被弃用。