'ImageFile []'に入力された内容を確認してImageIdを検索するコードを以下に示します。次に、INSERT VALUESを使用して値を挿入します(現時点ではecho $ questionsqlを使用しています)。ただし、問題は、エコーしたときに値が空白のままになることです。また、imageFile[]の未定義のインデックス通知を受け取ります。$ insertquestion = array();
$imagequery = "SELECT ImageId FROM Image WHERE (ImageFile = '". mysql_real_escape_string($_POST['imageFile'])."')";
$imagers = mysql_query($imagequery);
$imagerecord = mysql_fetch_array($imagers);
$imageid = $imagerecord['ImageId'];
$insertquestion[] = "'".
mysql_real_escape_string( $imageid ) ."'";
$questionsql = "INSERT INTO Question (ImageId)
VALUES (" . implode('), (', $insertquestion) . ")";
echo($questionsql);
'imageFile []'の空白の値をエコーし、'imageFile []'が未定義であると私が信じる理由は、<form>
以下にimageFile[]がないためです。imageFile []はjavascriptコード内にあり、フォームテーブルに追加されます。
だから私が知りたいのは、どのようにそれを取得して、追加されたImageFile'[]'をフォームコードに一致させる非表示の入力を取得できるかです。これにより、phpコードがある次のページにimageFile[]を投稿すると、未定義のインデックスを取得せず、'imageFile []の空白値を取得しませんか?
以下は、JavaScriptとフォームコードです。
<script>
function insertQuestion(form) {
var $tbody = $('#qandatbl > tbody');
var $tr = $("<tr class='optionAndAnswer' align='center'></tr>");
var $image = $("<td class='image'></td>");
var $imagefile = $('<input />')
.attr({
type: 'file',
name: 'imageFile[]',
class: 'imageFile'
});
$tr.append($qid);
$tr.append($image);
$tbody.append($tr);
}
</script>
<form id="QandA" action="insertQuestion.php" method="post" >
<table id="qandatbl" align="center">
<thead>
<tr>
<th class="image">Image</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</form>