Eğer mysql güncelleme hangi alanda göstermek için bir yolu var mı?

3 Cevap php

Kullanıcıların kendi hesabını düzenlerken, onlar kalın değişti alanları ile güncel bilgileri gösteren bir onay sayfasını görüntülemek istiyorum. Eğer bir kullanıcı değişiklik alanları seçmek için bir mysql tablosu var mı? Eğer değilse, tam olarak nasıl elde edebilirsiniz

Ex:

(editaccount.php)
first_name: bob
last_name:  builder
email: bobbuilder@gmail.com

When they change say their first name to "james", the confirmation page shows their first name in bold because they changed that but the other areas are still normal text.

first_name: <b>James</b>
last_name: builder
email: bobbuilder@gmail.com

3 Cevap

Sen eski veriler kendiniz karşı alanları karşılaştırmak gerekir.

çok basit bir örnek:

$old_user_data = <fetched from db>;
$new = $_POST;
$changed = array();

foreach ($old_user_data AS $field => $value) {
  if ($new[$field] != $value) {
     $changed[] = $field;
  }
}

print_r($changed); // array contains all fields that were changed

Ben php, uygulama düzeyinde ele olacaktır. Güncelleştirmeyi işlemekten önce, sadece, veritabanından veri çekme gönderilen veriler ile her alanı karşılaştırmak ve beğeninize her eşitsizliği kolu.

MySQL alanlar değiştirilmiş edildiği söyleyebilirim ben bilmiyorum. Ilgi duyması nasıl olsa. PHP, sadece güncellemeden önce ve sonra bilgileri karşılaştırabilirsiniz.

// select current info, store it in $before, e.g.
// then go through the posted values
$changed = array();

foreach ($_POST as $key => $value) {
  // compare new value against the previous one
  if ($before[$key] != $value) {
    $changed[] = $key;
  }
}