这是 MySql 查询:
if ($_POST["ok"] == "OK") {
$updateSQL = sprintf("UPDATE attend
SET
at_status=%s,
at_remarks=%s WHERE at_tt_idx=%s",
GetSQLValueString($_POST['attend'], "text"),
GetSQLValueString($_POST['remarks'], "text"),
GetSQLValueString($_POST['tt_idx'], "int"));
mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($updateSQL, $conn) or die(mysql_error());
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form3") && $_POST["ok"] != "OK") {
$insertSQL = sprintf("INSERT INTO attend (at_matrix_no, at_status, at_remarks, at_staff_idx, at_sb_name , at_class, at_sb_code, at_tt_idx) VALUES ( %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['st_matrix_no'], "text"),
GetSQLValueString($_POST['attend'], "text"),
GetSQLValueString($_POST['remarks'], "text"),
GetSQLValueString($_POST['tt_staff_idx'], "int"),
GetSQLValueString($_POST['sb_name'], "text"),
GetSQLValueString($_POST['tt_class'], "text"),
GetSQLValueString($_POST['sb_code'], "text"),
GetSQLValueString($_GET['tt_idx'], "int"));
mysql_select_db($database_conn, $conn);
$Result1 = mysql_query($insertSQL, $conn) or die(mysql_error());
这是我的表格
<?php $i=0; do { $i++;?>
<td align="center" bgcolor="#CCCCCC"><?php echo $i;?></td>
<input type="hidden" name="st_matrix_no[]" value="<?php echo $row_scs['st_matrix_no']; ?>"/></td>
<td align="center" bgcolor="#CCCCCC"><label>
<select name="attend[]" id="attend">
<option value="/" <?php if (!(strcmp("Present", $row_scs['at_status']))) {echo "selected=\"selected\"";} ?>>Present</option>
<option value="O" <?php if (!(strcmp("Absent", $row_scs['at_status']))) {echo "selected=\"selected\"";} ?>>Absent</option>
</select>
</label></td>
<input type="text" name="remarks[]" value="<?php echo $row_scs['at_remarks']; ?>" size="15" maxlength="20"/>
<input type="hidden" name="tt_staff_idx[]" value="<?php echo $row_scs['tt_staff_idx']; ?>"/>
<input type="hidden" name="tt_idx[]" value="<?php echo $row_scs['tt_idx']; ?>"/>
<input type="hidden" name="sb_name[]" value="<?php echo $row_scs['sb_name']; ?>"/>
<input type="hidden" name="tt_class[]" value="<?php echo $row_scs['tt_class']; ?>"/>
<input type="hidden" name="sb_code[]" value="<?php echo $row_scs['sb_code']; ?>"/>
<input type="hidden" name="start" value="<?php echo $row_scs['tt_datetime_start'];?>" />
<input type="hidden" name="end" value="<?php echo $row_scs['tt_datetime_end'];?>" />
</td>
我很抱歉!这是我的第二篇文章。我没注意到!抱歉偷看。这是我的代码。我想在我的数据库中存储多行数据。但它不能。它只存储一行数据。 :((。我有这么多学生要打分。请帮忙?抱歉我的英语不好
最佳答案
好的,我看到的主要问题是您创建 HTML 表格的方式。对于名称属性,您强制使用一个数组,这很好,但是您拥有它的方式:
<input type="hidden" name="tt_staff_idx[]" />
<input type="hidden" name="tt_idx[]"/>
<input type="hidden" name="sb_name[]" />
会导致这样的结果:
tt_staff_idx = array("value1", "value2", "value3", etc...)
tt_idx= array("value1", "value2", "value3", etc...)
sb_name= array("value1", "value2", "value3", etc...)
因此,当您发布此信息时,您可能只存储数组中的最后一个值。
您需要做的是以构建多维数组的方式设置 HTML 输入,以便您可以迭代并存储在数据库中。我会尝试这样的事情:
<input type="hidden" name="data[$i][tt_staff_idx]" />
<input type="hidden" name="data[$i][tt_idx]"/>
<input type="hidden" name="data[$i][sb_name]" />
所以你最终会得到这个:
data= array(
0 => array(
tt_staff_idx => "";
tt_idx=> "";
sb_name=> "";
)
1 => array(
tt_staff_idx => "";
tt_idx=> "";
sb_name=> "";
)
)
一旦你有了这个,你就可以像这样在你的 PHP 中迭代:
foreach($_POST['data'] as $data){
... your INSERT to DB code
}
关于javascript - php mysql 在一页和一个查询中插入多行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29085146/