我试图从表中挑出正确的问题编号并将其插入数据库中。让我说我有一个表附加行,我有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
答案 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获取其键,并检查哪个文件输入已“上传”。希望这会有所帮助。