将文本字段转换为SQL的单选按钮

问题描述:

我正在制作一个网站,用户可以将数据插入数据库并跟踪药物的摄入量。 我有一个简单的表格,提交到SQL数据库:将文本字段转换为SQL的单选按钮

<form method='post'> 
 
    <b>Dato:</b> <input type="date" name='date' id='date' value="<?php echo date('Y-m-d'); ?>" /><br /><br \> 
 
    <b>Tid:</b> <input type="time" name='time' id='time' value="<?php echo " $hour:$minute "; ?>" /><br /><br \> 
 
    <b>Medicin:</b><br /> <input type="radio" name="medicin" value="Medicin1" checked> Medicin1 <br /> 
 
    <input type="radio" name="medicin" value="medicin2"> Medicin2 <br /> 
 
    <input type="radio" name="medicin" value="other"> Other <input type="text" name="otherMedicin"><br /><br /> 
 
    <b>Kommentar:</b><br /><textarea name='comment' id='comment'></textarea><br /> <hr \> 
 
    <input type='submit' value='Send' /> 
 
</form>

将其提交给我发现有关我按照同样的事情,以前有问题的数据库。不幸的是,我无法让它工作! html radio button with an "other" selection that has a text box

这里是我的代码的重要组成部分:

$users_date = mysqli_real_escape_string($con, $_POST['date']); 
$users_time = mysqli_real_escape_string($con, $_POST['time']); 
$users_medicin = mysqli_real_escape_string($con, $_POST['medicin']); 
$otherMedicin = mysqli_real_escape_string($db, $_POST['otherMedicin']); 
if ($users_medicin == 'otherMedicin') { 
     $medicinField = $otherMedicin; 
    } else { 
     $medicinField = $users_medicin; 
    } 

$users_comment = mysqli_real_escape_string($con, $_POST['comment']); 
$query = " 
INSERT INTO `myDatabase`.`medi_list` (`id`, `dato`, `tid`, `medicin`, `kommentar`) VALUES (NULL, '$users_date', 
    '$users_time', '$medicinField', '$users_comment');"; 

我还是很新的SQL,所以我会很感激的任何帮助,您可以把我的方式:)

+1

你说,它“不工作”,但你没有说为什么还是什么不工作。您收到错误讯息? (在这种情况下,你会得到什么信息)你没有得到预期的结果? (在这种情况下你现在得到什么) –

我见在你的代码中的一些基本问题:

当你填充字段“$ otherMedicin”,你正在使用$分贝,而不是像其他的语句$ CON。

$ _ POST [medicin]永远不会是“otherMedicin”,因为那是你的文本输入字段,而不是单选按钮的名称的名称。您应该将此作为您的条件:

if ($users_medicin == 'other') { 

这应该有所帮助。

+0

非常感谢你!这正是我需要完成的! 我一直在看这么多,我看不出错误。 – Christina