我得到一个未定义的索引


i am getting an undefined index

可能重复:
它没有';t在数据库中插入值

我在下面有一个Javascript,它为表中的每一行添加了一个问题编号($qid):

<script> 
    var qnum = 1;
    function insertQuestion(form) {  
        var $tbody = $('#qandatbl > tbody'); 
        var $tr = $("<tr class='optionAndAnswer' align='center'></tr>");
        var $qid = $("<td class='qid'>" + qnum + "</td>");
        $tr.append($qid);
        $tbody.append($tr);     
        ++qnum;
        $("#questionNum").text(qnum);
    }
</script>

下面的表单代码。假设添加问题编号的行位于下表中,并且它确实在下表中添加了表行:

    <form id="QandA" action="<?php echo htmlentities($action); ?>" method="post" >
        <h1><?php echo $_SESSION['id'] ?></h1>
<p>
<input id="addQuestionBtn" name="addQuestion" type="button" value="Add Question" onClick="insertQuestion(this.form)" />
</p>
        <table id="qandatbl" align="center">
            <thead>
                <tr>
                    <th class="qid">Question No</th>
                </tr>
            </thead>
            <tbody></tbody>
        </table>
        <p>
            <input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" />
        </p>
    </form>

然而,问题是,这是我的问题,我想将表行中的所有问题编号添加到数据库中的数据库中(每个数据库行1个问题编号),但这是不可能的,因为在表单中,我没有"name"属性。可以调用$_POST将表单中的问题编号放入我的INSERT VALUES代码中,以便能够将这些问题编号添加到数据库中。我想知道的是,我可以把"name='insertqid'"放在哪里,这样我就可以在查询中调用它,然后能够在数据库中插入问题编号?目前,我在查询中得到了一个未定义的索引:"insertqid"。

以下是我目前拥有的php INSERT VALUES代码:

<?php
    session_start();
    $username="xxx";
    $password="xxx";
    $database="xxx";
    mysql_connect('localhost',$username,$password);
    mysql_select_db($database) or die( "Unable to select database");
    $insertquestion = array();
    $insertquestion[] = "' ". mysql_real_escape_string( $_POST['insertqid'] ) . "'";
    $questionsql = "INSERT INTO Question (QuestionId) VALUES (" . implode('), (', $insertquestion) . ")";
    mysql_query($questionsql);
    mysql_close();
?>

您可以按如下方式添加行,但尚未显示如何添加问题。您将从中得到的只是一个包含一系列编号行的表。

<script type="text/javascript">
var insertQuestion = (function () {
  var row = document.createElement('tr');
  row.classname =  'optionAndAnswer';
  row.style.align = 'center';
  var cell = document.createElement('td');
  cell.className = 'qid';
  return function(id) {
    var tbody = document.getElementById(id).tBodies[0];
    var r = tbody.appendChild(row.cloneNode(false));
    var c = r.appendChild(cell.cloneNode(false));
    c.appendChild(document.createTextNode(tbody.rows.length));
  }
}());
</script>
<form id="QandA" action="" >
  <p><input type="button" value="Add Question"
      onClick="insertQuestion('qandatbl')">
  <table id="qandatbl" align="center">
    <thead>
      <tr>
        <th class="qid">Question No</thead>
  </table>
  <p><input type="submit" value="Submit Details">     
</form>