Veri tabanı alanları ile form alanlarını karşılaştırarak ve form alanları vurgulayarak

2 Cevap php

Eğer aşağıdaki iki senaryolarda bana yardımcı olabilir (PHP + MYSQL)

Scenario1: I need to compare the HTML Form field values with the Database field values and highlight the form fields in some color whose values are different from database values before submitting the form (to alert the user).

Scenario2:

Formu yüklenmesi ile ilgili, i (tabloları farklı sütun isimleri olan ama bilgi aynı) 2 farklı veritabanı tabloları mevcut değerleri karşılaştırmak gerekir. ana veri ikincil veri gelen değişen kullanıcılara göstermek için html şeklinde vurgulanır aynı ihtiyaçlar değildir alanlar.

Eğer verimli bunu yapmanın yolu (karşılaştırma ve form değerleri vurgulayarak) olan bana yardımcı olabilir.

thanks in advance Naveen

2 Cevap

Senaryo 1

<form method="post">
  <? foreach ($fields as $field) : ?>
    <? if (in_array($diff_fields, $field)) : ?>
    <div style="background-color:red">
    <? else : ?>
    <div>
    <? endif; ?>
      <input type="text" value="<?= $record[$field] ?>"/>
    </div>
  <? endforeach; ?>
</form>


$fields = array('id', 'name', 'created_at');
$diff_fields = array();

$record = fetch_from_db($record_id);

foreach ($fields as $field) {
  if (isset($record[$field]) && $record[$field] != $_POST[$field]) {
    $diff_fields[] = $field;
  }
}

Eğer formu göndermeden önce senaryoyu biri işlemek istediğiniz beri karşılaştırma yapmak için JavaScript kullanmak gerekir. Eğer sayfa oluşturmak önce formun yapısını biliyorsanız, o, jQuery kullanarak karşılaştırmalar bir dizi yazmak için doğu olmalıdır change(), ve formda gizli alanlar.

Iki senaryoda için bu "verimli" tanımına biraz bağlıdır. Eğer az sunucu kaynağı kullanmak istiyorsanız, siz de adlandırılmış tabloları giren iki veritabanı tabloları ile geri sayfasını göndermek ve yine farklılıkları vurgulamak için JavaScript kullanabilirsiniz. Eğer müşterinin tarayıcısında çalışan JS bağımlı olmayan bir çözüm istiyorsanız MySQL sorguda karşılaştırma yapabiliriz. PHP kendisi karşılaştırma Koşu muhtemelen kod kolay ve bu nedenle programcı zaman için en verimli, ama yavaş yürütme (Bu konularda tablo boyutu gibi çeşitli etkenlere bağlıdır).