Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

Im using this Code:

<?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>

So there could be a different amount of questions each time, I need a way to make them insert into the database (one questions per row)

There are 3 tables:

surveys
surveys_questions
surveys_completed

The surveys_completed table is where all the users answers are put.

any ideas?

share|improve this question
3  
Wow you have serious problems with your table layout. –  Prix Jul 22 '13 at 6:59
    
This won't work, you need to use a one to many relation with a second table. –  John Krommidas Jul 22 '13 at 7:01
    
1. Normalise your data –  Strawberry Jul 22 '13 at 8:55
add comment

1 Answer

Place the answers in an array and explode them in the query. The column names in the query can be generated based on the amount of number in the array.

Another point: avoid mysql_*-functions, use mysqli or PDO since mysql will be deprecated.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.