我得到一个未定义的索引

时间:2012-04-01 22:53:02

标签: php javascript html

  

可能重复:
  It doesn't insert the values in the database

我在下面有一个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();

?>

1 个答案:

答案 0 :(得分:0)

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

<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>