从单选按钮获取选定的值并将其插入MySQL

时间:2015-08-17 14:27:52

标签: php html mysql forms

我想从选中的单选按钮获取一个值并将其插入MySQL。

我已经使用了isset(),但是当我检查结果时,我无法获得所选的单选按钮。

有人可以帮助我吗?

<form method="post" class="input" action="doRegisCourse.php">
<table>
<?php
while($row=mysql_fetch_array($query)){
?>
<tr>
    <td><input type="radio" value="mentor" name="mentor"/></td>
    <td><?php echo $row['mentorName']?></td>
    <td><?php echo $row['course']?></td>
    <td><?php echo $row['nim']?></td>
    <td><?php echo $row['email']?></td>
</tr>   
<?php } ?>      
 </table>    
 <input type="submit" value="Next" name="submit">
 </form>

doRegisCourse.php

<?php
include "connect.php";
$name = $_POST['fullname'];
$name2 = $_POST['fullname2'];
$name3 = $_POST['fullname3'];
$course = $_POST['course'];
$mentor = mysql_query("SELECT * from msmentor");
$i = 1;

while ($arr = mysql_fetch_array($mentor)) {
    if (isset($_POST['mentor'])) {
        $query = "INSERT INTO membercourse(memberGroup,courseName,mentorName) 
    VALUES ('".$name."','".$course."','".$arr['mentorName']."'),('".$name2."','".$course."','".$arr['mentorName']."'),
    ('".$name3."','".$course."','".$arr['mentorName']."')";
        echo $_POST['mentor'];
     }
     $i++;
}

if (mysql_query($query)) {
    header("location:indexLogin.php");
}

echo $ _POST ['mentor']返回此信息 'mentormentormentormentor'

1 个答案:

答案 0 :(得分:1)

您当前编写的方式(<input type="radio" value="mentor" name="mentor"/>),所有单选按钮都具有相同的值:"mentor"。您需要将值设置为指导者的名称,如下所示:

<input type="radio" value="<?php echo $row['mentorName']?>" name="mentor"/>

然后,在doRegisCourse.php中,您实际上并没有从$ _POST中拉出选定的导师。您正在检查是否设置了$_POST['mentor'],但您INSERT进入membercourse的指导者的值是从另一个mysql查询中获取的,而不是来自发布的值。

这可能就是你的想法,但让人们为导师挑选价值而不是真正使用它似乎很奇怪。