誰も助けることができたら、これは意味があり、事前に感謝します。配列に追加の行を挿入してデータベースに入力してください
テーブルにデータの配列が表示されているため、データを編集して編集したデータでデータベースを更新できます。
<input type='button' value='new row' id='save' onClick="addRow()"/>
<table id='mech_table'>
<tr>
<td></td>
<td></td>
<td><input type='text' size='30' name='value_total'id='mech_value_total' value='£0.00' readonly='readonly'/></td>
<td></td>
<td><input type='text' size='30' name='value_claim' id='mech_claim_total' value='£<?php echo $row_MECHT['mech_total']; ?>' readonly='readonly'/></td>
</tr><tr>
<th>ID</th>
<th>Description</th>
<th>Value</th>
<th>%</th>
<th>Claim</th>
</tr>
<?php while ($MECH = mysql_fetch_array($result)) {
?>
<form name='form_update' method='post' action="<?php echo $editFormAction; ?>">
<tr>
<td><?php echo $MECH['id']; ?><input type='hidden' name='id[]' value='<?php echo $MECH['id'];?>' /></td>
<td class='description_row'><input type='text' size='70' name='description[]' value='<?php echo $MECH['description'];?>' /></td>
<td class='value_row'><input class='mech_value_total' type='text' size='30' name='value[]' value='<?php echo $MECH['value'];?>' /></td>
<td class='percent_row'><input class='percent' type='text' size='10' name='percentclaim[]' value='<?php echo $MECH['percentclaim'];?>' /></td>
<td class='claim_row'><input class='mech_claim_total' type='text' size='30' name='claim[]' value='<?php echo $MECH['claim'] ?>' readonly='readonly'/></td>
</tr>
<?php ++$ia;
}
?>
</table>
<input type='submit' value='save' id='save' /><br /><br /><br />
</form>
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
$size = count($_POST['id']);
$i = 0;
while($i<$size){
$description= $_POST['description'][$i];
$value= $_POST['value'][$i];
$percentclaim= $_POST['percentclaim'][$i];
$claim= $_POST['claim'][$i];
$id = $_POST['id'][$i];
$query = "INSERT INTO applicationmech
SET id='$id',
description='$description',
value='$value',
percentclaim='$percentclaim',
claim='$claim'
ON DUPLICATE KEY UPDATE description='$description',
value='$value',
percentclaim='$percentclaim',
claim='$claim'";
mysql_query($query) or die ("Error in query: $query");
$updateGoTo = "preditvaluation.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
++$i;
}
私は私が私のテーブルに行を追加することができますJavaScriptを使用して簡単なボタンを作成しました。
function addRow() {
$('#mech_table tr:last').after('<tr><td><input type="hidden" name="id[]" value="" /></td><td class="description_row"><input type="text" size="70" name="description[]" value="" /></td><td class="value_row"><input class="mech_value_total" type="text" size="30" name="value[]" value="" /></td><td class="percent_row"><input class="percent" type="text" size="10" name="percentclaim[]" value="" /></td><td class="claim_row"><input class="mech_claim_total" type="text" size="30" name="claim[]" value="" readonly="readonly"/></td></tr>');
}
私の問題は、更新ボタンをクリックすると、新しい行のデータが保存されないということです。
私はさまざまな方法を試してきましたが、これを動作させる方法は毎回失敗しました。
メッセージのエラー?? – chenio
エラーメッセージが表示されず、既存のすべての行は正常に更新されますが、新しい行は挿入されません。コードをINSERTだけに変更しても、追加の行は無視されますか? – user1209361