初回にフォームでは基本的に私は、しかし、単一のINSERTクエリで複数の行を挿入しようとしている...それは本当に明らかに/簡単に修正することが見て、これをやってシングルDB
を複数行の挿入します私は明らかに失敗し、そのように働くことはありません。
関連するエントリをテーブルで検索することによってフォームが生成されるため、部門Aに所属している場合はフォームに入力行を作成しフォームを入力します。これはすべてうまく動作しますが、フォームを生成できますが、フォームを挿入しようとすると問題が発生します。
現在のところ、ほとんどのフィールド(COUNT、STATUS、およびTYPEは、テーブルから特定のデータタイプのみに制限されているため、これに耐性があります)には、文字Aを入力するフォームから入力したデータを挿入するのではなく、セットアップ自体)。
これは私がスクリプトでフォームセットを持っているか、現在ある:
<?php
if ($action == "editrecord") {
?>
<form name="form1" method="post" action="">
<table>
<tr><td colspan="2" align="left">
<?php //Getting Title for Record
$resultTITLE = queryDB("SELECT * FROM merit_subdepts WHERE subdeptID = '$subdeptID'");
while($rowTITLE = mysql_fetch_array($resultTITLE)) {
$recordTITLE = $rowTITLE["subdeptNAME"];
echo "$recordTITLE";
}
?>
</td></tr>
<tr><td>Member Name</td><td>Choose Award</td><td>Reason</td><td></td></tr>
<?php
$resultMERIT = queryDB("SELECT * FROM merit_members WHERE memberPRIMARY = '$subdeptID'");
while($rowMERIT = mysql_fetch_array($resultMERIT)) {
$memberID = $rowMERIT["memberID"];
$memberNAME = $rowMERIT["memberNAME"];
?>
<tr>
<td><?php echo $memberNAME; ?></td>
<td><select name="count[]" class="ui-state-default">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</td>
<td><input name="reason[]" type="text" id="reason" class="blackInput" value="Monthly Award <?php echo date("F, Y") ?>"></td>
<td><input name="type[]" type="hidden" id="type" value="Civil">
<input name="awarder[]" type="hidden" id="awarder" value="<?php $usersname; ?>">
<input name="datea[]" type="hidden" id="datea" value="<?php $stamp83; ?>">
<input name="status[]" type="hidden" id="status" value="Check">
<input name="id[]" type="hidden" id="id" value"<?php $memberID; ?>">
<input name="dept[]" type="hidden" id="dept" value"<?php $recordTITLE; ?>">
</td>
</tr>
<?php } //end of sub-division membership list ?>
<tr><td colspan="4"><center>
<div class="butDiv"><input name="submitRECORDS" type="submit" id="submitRECORDS" value="Submit Records"></div>
</center>
</td>
</tr>
</table>
</form>
<?php
} //End of Edit Merit Records
?>
これは、使用INSERTクエリです:私は私の髪をリッピングする前に感謝
if ($submitRECORDS) {
for($i = 0; $i<count($_POST['id']); $i++) //Getting total # var submitted and running loop
{ $fromID = $_POST['id'][$i]; //var
$fromTYPE = $_POST['type'][$i]; //var
$fromCOUNT = $_POST['count'][$i]; //var
$fromDATEA = $_POST['datea'][$i]; //var
$fromAWARDER = $_POST['awarder'][$i]; //var
$fromREASON = $_POST['reason'][$i]; //var
$fromDEPT = $_POST['dept'][$i]; //var
$fromSTATUS = $_POST['status'][$i]; //var
if ($fromID != "0") {
queryDB("INSERT INTO merit_precord (NAME,TYPE,COUNT,DATEA,AWARDER,REASON,DEPT,STATUS) VALUES ('$fromID','$fromTYPE','$fromCOUNT','$fromDATEA','$fromAWARDER','$fromREASON','$fromDEPT',$fromSTATUS')"); } }
$action="";
$msg=1;
}
支援。 :)
PDO、bindParam、およびTransactionsについて読む。送信コードに –
がある場合は、 'print_r($ _ POST);を実行してください。結果が適切に渡ってくるかどうかを確認するだけです。それがうまくいくように見える場合は、実行しているSQLクエリをエコーして、正しく表示されていることを確認してください。また、SQL –
を保護するためにhttp://www.php.net/manual/en/function.mysql-real-escape-string.phpを見てください、私は注射の問題をshored、私はそこにあったことを知っていたが、私は私はそれを完全に確保する前に働くことにもっと興味があります。私もprint_r($ _ POST)を実行しました。あなたが示唆したと私は応答でこれを得た:Array([count] => Array [理由] => Array [タイプ] => Array [awarder] => Array [datea] => Array [status] => Array [id] =>配列[dept] =>配列[submitRECORDS] =>レコードを送信する) – Vacosa