4

これは私をとても混乱させます。フォームをデータベースに整然と保存することができません。

下の画像をご覧ください。フォーム画像 ここに画像の説明を入力

データベースの例は保存のみ...

例データベース

1, 2,3,4 ではなく、画像では 1,3,2,4 であることがわかりますが、どうすれば順番に保存できますか?

HTMLコード

<table cellpadding="5" cellspacing="0" width="100%" class="computation_table">
<tr>
    <th></th>
    <th>Categorie&euml;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 に追加されます。

私はもっ​​と説明するために開いています..

4

1 に答える 1