javascript - php mysql 在一页和一个查询中插入多行数据

标签 javascript php jquery mysql css

这是 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/

相关文章:

javascript - PHP Javascript 动态指示单击的菜单项

javascript - 从 slider 中删除图像不会显示任何内容

javascript - 从 PHP 和 JQuery 连接到 mySQL 服务器

jquery - 使用 div 类时如何让自动滚动到 div 的底部工作

javascript - 更改更改范围选择器按钮上的 HighStock 图表标签

javascript - 更改 :before css selector using JQuery 的宽度属性

php - 这个语法在 php : if ( $matches->match_is_editable( $ts ) ) 中意味着什么

php - 除了 XSS 和 Sql 注入(inject)之外,我可以通过哪些方式保护我的网站?

php - 如何将查询字符串转换为 url slug on form submit get method in php?

jquery - 序列化表单和列表