これは私をとても混乱させます。フォームをデータベースに整然と保存することができません。
下の画像をご覧ください。フォーム画像
データベースの例は保存のみ...
1, 2,3,4 ではなく、画像では 1,3,2,4 であることがわかりますが、どうすれば順番に保存できますか?
HTMLコード
<table cellpadding="5" cellspacing="0" width="100%" class="computation_table">
<tr>
<th></th>
<th>Categorieën</th>
<th>Aantal</th>
<th>Omschrijving</th>
<th>Bedrag</th>
<th>Totaal</th>
<th>BTW</th>
<th></th>
</tr>
<tr>
<td>
<a id="add_new_element"><img src="images/add.png" width="20" alt="add product" /></a>
<a id="add_new_category"><img src="images/cat.png" alt="add category" /></a>
</td>
<td align="left" colspan="6">
<input type="text" name="input[0][cat_name]" style="font-weight:bold;" value="Categorie naam" />
</td>
</tr>
<tr>
<td>
<a id="add_new_element"><img src="images/add.png" width="20" alt="add product" /></a>
<a id="add_new_category"><img src="images/cat.png" alt="add category" /></a>
</td>
<td>
<input type="text" name="input[0][category]" class="text_com" value="" />
</td>
<td>
<input type="text" name="input[0][quantity]" id="new_quan" class="quantity text_com" value="" /> x
</td>
<td width="180">
<textarea name="input[0][quo_definition]" class="input"></textarea>
</td>
<td>
<input type="text" name="input[0][quo_amt]" id="new_amt" class="quantity text_com" value="0" />
</td>
<td id="total">
<span id="view_total_0">0</span>
<input type="hidden" name="input[0][quo_total]" id="new_total" class="quantity text_com" value="0" />
</td>
<td>
<select name="input[0][quo_btw]" class="btwselect">
<option value="21%" selected="selected">21%</option>
<option value="6%">6%</option>
<option value="0%">0%</option>
</select>
</td>
</tr>
</table>
<br />
<div class="ClientProductItemsSubTotal">
<table cellpadding="5" cellspacing="0" width="100%">
<tr>
<td><strong>Korting</strong></td><td><input type="text" name="discount" class="quantity" value="" /></td>
</tr>
</table>
</div>
フォームからDBへ$input = array();
foreach( $_POST['input'] as $input ) {
$mysqli->query( "INSERT INTO jon_com_quo_computation VALUE('', '$uc', '$cc', '$ct', '$cur', '', '".$input['cat_name']."', '".$input['category']."', '".$input['quantity']."', '".$input['quo_definition']."', '".$input['quo_amt']."', '".$input['quo_total']."', '".$input['quo_btw']."', '$dis', '', '', '1', 'new', NOW() )" );
}
下にフォームを追加するjQuery...一番下にあるはずです...私は使用しました.insertAfter(rowfield);
jQuery(function() {
id = 0;
jQuery('a#add_new_element').live('click', function() {
id++;
var rowfield = jQuery(this).parent().parent();//add some .parent() untill you get the TR element
jQuery('<tr><td><a id="add_new_element"><img src="images/add.png" width="20" alt="add product" /></a> <a id="add_new_category"><img src="images/cat.png" alt="add category" /></a></td><td><input type="text" name="input['+id+'][category]" class="text_com" value="" /></td><td><input type="text" name="input['+id+'][quantity]" id="new_quan" class="quantity" value="" /> x</td><td width="200"><textarea name="input['+id+'][quo_definition]" class="input"></textarea></td><td><input type="text" name="input['+id+'][quo_amt]" id="new_amt" class="quantity" value="0" /></td><td><span id="view_total_'+id+'">0</span><input type="hidden" id="new_total" name="input['+id+'][quo_total]" class="quantity" value="0" /></td><td><select name="input['+id+'][quo_btw]" class="btwselect"><option value="21%" selected="selected">21%</option><option value="6%">6%</option><option value="0%">0%</option></select></td><td><a id="del_row"><img src="images/del.png" class="DelRow" alt="delete" /></a></td></tr>').insertAfter(rowfield);
});
アイデアを共有していただきありがとうございます....
編集済み:詳細については...修正する必要があることが2つあります。まず、データベースに保存すると、整然としたものは実際には従わないということです。そうであってはならa b c d
ないa c b d
2つ目は、私が使用するinsertAfter()
かinsertBefore()
どうか、または私の上司が望んでいることは、彼が追加ボタンをクリックすると、下に追加する必要があるフォームを追加できることです。
たとえば、緑色の + 追加ボタンをクリックすると、既に追加されている最後の tr に追加されます。
私はもっと説明するために開いています..