多个帖子数据到Mysql DB

时间:2011-08-25 10:05:57

标签: php mysql

我遇到问题:我想创建管理员以向测验系统添加问题。结构是:

<label>Question 1</label>
<input type='text' name='question' value=''/>  

<label>Possible reply</label>
<input type='text' name='1' /> 
<input type='text' name='2' />
...
<input type='text' name='6' />    
<label>**Correct reply</label>
<input type='text' name='correct' /> 


<label>Question 2 </label>
<input type='text' name='question' value=''/>     
<label>Possible reply </label>
<input type='text' name='1' /> 
<input type='text' name='2' />
...
<input type='text' name='6' />    
<label>Correct reply </label>
<input type='text' name='correct' />     

<label>Question 3 </label>
...
<input type='submit' name='submit' value='submit'>

我需要向Mysql数据库表发布多个问题:问题,1,2,3,4,5,6,正确

我创造了这个:

<?php
if(isset($_POST['submit']))
 {
$question  $_POST['question '];
$a = $_POST['1'];
$b = $_POST['2'];
$c = $_POST['3'];
$d = $_POST['4'];
$e = $_POST['5'];
$f = $_POST['6'];
correct = $_POST['correct '];

$result=mysql_query("insert into test (question, 1, 2, 3, 4, 5, 6, correct) values ('$result', '$a', '$b', '$c', '$d', '$e', '$f',  '$correct' )");
  }

else
{

?>
<label>Question 1 </label>
<input type='text' name='question' value=''/>  

<label>Possible reply </label>
<input type='text' name='1' /> 
<input type='text' name='2' />
...
<input type='text' name='6' />

<label>Correct reply </label>
<input type='text' name='correct' /> 


<label>Question 2 </label>
<input type='text' name='question' value=''/>  

<label>Possible reply </label>
<input type='text' name='1' /> 
<input type='text' name='2' />
...
<input type='text' name='6' />

<label>Correct reply </label>
<input type='text' name='correct' /> 


<label>Question 3 </label>
...
<input type='submit' name='submit' value='submit'>

<?         
}

但这只向DB发送了一个问题。

3 个答案:

答案 0 :(得分:1)

如果你不能使用

<input type='text' name='question_1' value=''/>  
<input type='text' name='question_1' value=''/>  
<input type='text' name='question_1' value=''/>  

用HTML写:

<input type='text' name='question[]' value=''/>  
<input type='text' name='reply1[]' />  
<input type='text' name='reply2[]' />  
<input type='text' name='reply3[]' />  
<input type='text' name='reply4[]' />  
<input type='text' name='reply5[]' />  
<input type='text' name='reply6[]' />  
<input type='text' name='correct[]' /> 

在PHP中:

<?php
if (isset($_POST['submit'])){
    $questions=$_POST['question'];
    $reply1=$_POST['reply1'];
    $reply2=$_POST['reply2'];
    $reply3=$_POST['reply3'];
    $reply4=$_POST['reply4'];
    $reply5=$_POST['reply5'];
    $reply6=$_POST['reply6'];
    $correct=$_POST['correct'];
    foreach($questions as $key=>$value){
         $result=mysql_query("insert into test (question, 1, 2, 3, 4, 5, 6, correct) values ('$value', '".$reply1[$key]."', '".$reply2[$key]."', '".$reply3[$key]."', '".$reply4[$key]."', '".$reply5[$key]."', '".$reply5[$key]."',  '".$correct[$key]."' )");

    }

}

答案 1 :(得分:0)

如果你可以陈述你的数据库结构和预期的结果会很好,因为它可能不会像你想象的那样工作,直到我们看到它才会知道。

如果您想要每行1个答案,则需要使用多行插入 - How to insert multiple rows in single insert statement?

答案 2 :(得分:0)

试试:

<input type='text' name='question1' value=''/>  
<input type='text' name='question2' value=''/>

而不是

<input type='text' name='question1' value=''/>     
<input type='text' name='question1' value=''/>