Bir veritabanı tablosunu güncelleştirmek için en hızlı yolu

2 Cevap php

İnsanların iki sütun, word_1 ve word_2 içeren bir uzunluğu bilinmeyen bir tablo oluşturmak ve bir veritabanında bu tablo saklayabilirsiniz bir web sitesi var. Sadece satır yineleme tarafından veritabanına bu değerleri eklemek için elbette çok basittir.

Şimdi birileri değerlerin bazılarını güncellemek için karar verir ve o bir tabloda <input/>-alanlarında tüm satırları bulur edit sayfasına gider. O içerik, başka bir satır ekler veya bir satır siler düzenlediğinde bu değerleri güncelleştirmek için en hızlı yolu nedir?

Örneğin, bu oluşturulduktan sonra tablo:

     [word_1        ]  [word_2       ]

1.   [foo           ]  [bar          ]
2.   [something     ]  [more         ]
3.   [another       ]  [row          ]
...
600. [another_value ]  [blabla       ]
601. [last          ]  [row          ]

Ve sonra birisi düzenlemek için karar verir:

1.   [foo           ]  [bar          ]
2.   [changed_val   ]  [more         ]
...
234. [another_change]  [changed_value]
...
600. deleted
601. [last          ]  [row          ]
602. [new_row       ]  [new_value    ]

Ben HTML kodu aşağıdaki gibi görünecektir düşünüyorum:

<table>
    <tr>
        <td>
            <input type="hidden" name="row[0][id]" value="id-2" />
            <input type="text" name="row[0][word_1]" value="value_1" />
        </td>
        <td>
            <input type="text" name="row[0][word_2]" value="value_2" />
        </td>
        <td>
            <img src="img.gif" onclick="delete_row()" />
        </td>
    </tr>
     <tr>
        <td>
            <input type="hidden" name="row[1][id]" value="id-5" />
            <input type="text" name="row[1][word_1]" value="value_1" />
        </td>
        <td>
            <input type="text" name="row[1][word_2]" value="value_2" />
        </td>
        <td>
            <img src="img.gif" onclick="delete_row()" />
        </td>
    </tr>
</table>

Bu satırların her biri çukur gitmek ve geçerli satır düzenlenebilir ise bir sorgu ile kontrol etmek daha tablosunu güncelleştirmek için daha iyi bir yolu var mı? Ve bir satır silinmiş olup olmadığını görmek için en iyi yolu nedir?

Ben bu veri XML saklamak için çok kolay olduğunu biliyorum, ama ben birlikte vb diğer tabloları ve kullanıcıların verileri bağlamak böylece ben bir veritabanı tercih ederim.

2 Cevap

Muhtemelen tabloları varsayarak hızlı yolu, büyük olacak, bu satırları karşılaştırarak, ve gerektiğinde güncellenmesi ile bir sorgu, döngü ile belleğe şeyi çekmek olacaktır.

Iyi satırlar bir AJAX çağrısı kullanılarak düzenlenir gibi sorguları anında db gönderilir dinamik bir şey yapmak olacaktır.

Eğer () o kullanıcı güncelleme butonuna tıkladığında, güncelleştirmek için hangi satırların bildiğiniz bir js değişken ve sonunda verilerini tutan bir delete_row çalıştırılan kelimenin kimliği ve her zaman delete_row kullanabilirsiniz

var deletedRows = new Array();
var numberOfRowsDeleted = 0;
function delete_row(row_id)
{
    deletedRows[numberOfRowsDeleted] = row_id;
    numberOfRowsDeleted++;
}