【发布时间】:2011-07-12 19:01:28
【问题描述】:
这是一个简单的表单,包含多个复选框选项和文本区域输入:
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table>
<tr><th colspan="2">BREATHING CIRCULATION</th></tr>
<tr><th>#</th><th>Instruction Name</th></tr>
<tr><td><input name="InstrCheck[]" type="checkbox" id="InstrCheck" value="Respirations normal rate"></td><td>Respirations normal rate</td></tr>
<tr><td><input name="InstrCheck[]" type="checkbox" id="InstrCheck" value="Respirations effort normal"></td><td>Respirations effort normal</td></tr>
<tr><td><input name="InstrCheck[]" type="checkbox" id="InstrCheck" value="Breath Sounds-normal"></td><td>Breath Sounds-normal</td></tr>
<tr><td><input name="InstrCheck[]" type="checkbox" id="InstrCheck" value="Skin colour-normal"></td><td>Skin colour-normal</td></tr>
<tr><td><input name="InstrCheck[]" type="checkbox" id="InstrCheck" value="Heart rhythm & rate normal"></td><td>Heart rhythm & rate normal </td></tr>
<tr><td><input name="InstrCheck[]" type="checkbox" id="InstrCheck" value="No Oedema"></td><td>No Oedema </td></tr>
</table>
<textarea name="InstrCheck[]" id="InstrCheck" placeholder="set your own instruction"> </textarea>
<input type="hidden" name="MM_insert" value="form1">
<input type="hidden" value="<?php echo $_GET['a'];?>" name="pat_id">
</form>
我的问题是如何插入选中的选项(可能不止一个)和 textarea 值(如果输入)并将所有这些输入值插入数据库的同一列但每个输入都在“单独的行”中。我尝试了这段代码但没有工作插入任何内容(空单元格):
<?php
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
$pat_id = $_GET['a'];
$Date = date("d-m-Y");
$Time = date("H:i:s");
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
foreach ($_POST['InstrCheck'] as $value) {
$insertSQL = "INSERT INTO instruction (instName, instTime, instDate, pat_id) VALUES ('$value', '$Time', '$Date', '$pat_id')";
}
mysql_select_db($database_PPS, $PPS);
$Result1 = mysql_query($insertSQL, $PPS) or die(mysql_error());
$insertGoTo = "Patint_selection.php?a=$pat_id";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
【问题讨论】:
-
您是否能够将至少一个检查值写入数据库?
-
不,并且在检查数据库表时没有出现错误消息我发现空单元格但插入了另一个值。