如何在数据库中插入正确的数字

时间:2012-09-20 09:26:08

标签: php mysqli

我试图从表中挑出正确的问题编号并将其插入数据库中。让我说我有一个表附加行,我有3行,下面的表格看起来像这样:

Question No     Image

1              (file input)
2              (file input)
3              (file input)

以下是创建上表的代码:     var qnum = 1;

var $qid = $("<td class='qid'></td>" ).text(qnum);
var $image = $("<td class='image'></td>"); 

    var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return imageClickHandler(this);' class='imageuploadform' >" + 
        "Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><br/><label class='imagelbl'>" + 
    "<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label>" + 
    "<label><input type='button' name='imageClear' class='imageClear' value='Clear File'/></label>" +
    "</p></form>"); 

$tr.append($qid);
$tr.append($image);


    ++qnum;
    $(".questionNum").text(qnum);
    $(".num_questions").val(qnum);

我的问题是,我可以说我在第2行使用文件输入,例如,如何在与要插入数据库的文件输入相同的行中插入问题编号(插入的问题编号显然是2)?

另一个例子是,如果我使用第3行中的文件输入,例如,如何在与要插入数据库的文件输入相同的行中插入问题编号(插入的问题编号显然是3) ?

下面是我将数据插入数据库时​​的代码(主要代码):

$lastID = $mysqli->insert_id;         

 $imagequestionsql = "INSERT INTO Image_Question (ImageId, SessionId, QuestionId)  
    VALUES (?, ?, ?)"; 

     if (!$insertimagequestion = $mysqli->prepare($imagequestionsql)) { 
      // Handle errors with prepare operation here 
       echo "Prepare statement err imagequestion"; 
    } 

$qnum = 1;

$insertimagequestion->bind_param("isi",$lastID, $sessid, $qnum); 

$sessid =  $_SESSION['id'] . ($_SESSION['initial_count'] > 1 ? $_SESSION['sessionCount'] : ''); 

    $insertimagequestion->execute(); 

                if ($insertimagequestion->errno) { 
          // Handle query error here 
        } 

        $insertimagequestion->close(); 

目前,上面的代码只是在数据库中为问题编号插入数字1

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,这是一个很好的方法:PHP支持$ _POST,$ _GET和$ _FILES中的“子数组”。 I.E.如果你有

<input type="file" name="upload[1]" />
<input type="file" name="upload[2]" />
<input type="file" name="upload[3]" />

您可以使用$ _FILES [“upload”] [X]轻松检查哪个文件上传被触发,其中X介于1和3之间。$ _GET和$ _POST相同。记住这个技巧,因为它非常有用,特别是如果使用JavaScript动态附加元素。例如。你可以有一个代码:

last_index = 1;
//later in the code
//....
$('#container').append('<input type="file" name="upload['+last_index+']" />');
last_index++;

然后,在PHP代码中,您可以检查$ _FILES [“upload”]数组的长度,甚至可以使用array_keys获取其键,并检查哪个文件输入已“上传”。希望这会有所帮助。