Uygulamak e-posta gibi okunmamış / okuma

3 Cevap php

Hello Guys i am trying to implemenet something like the read/unread in the email.How can i do so by using jquery , php and mysql. What i want to do in steps:

1- When i click on a row in html table i change the status of the this message in database. 2- And then change the background of this row but also if i logout and relogin the row remains changed. 3- knowing that i am already using css classes for the table rows.

Ne ben şimdiye kadar yapmış ben bir güncelleme ile veritabanında bu özel mesajların durumunu değiştirdi olmasıdır.

Saygılar.

3 Cevap

Ben sadece biraz fazla, ama burada ben bunu nasıl yapacağını, çünkü size tüm kodu veremez:

  1. JQuery ile, tablo satırları değiştiğinde olay bir işlev atamak.
  2. Bu işlev o olay için durum değişikliği sunucuya bildirmek için AJAX kullanır.
  3. Sunucu söz konusu satır için durumunu günceller.
  4. O satır için HTML kodunu geri gönderebilir ya da sadece jQuery kullanarak sınıfını değiştirebilir.
  5. Durum şimdi veritabanında değişti olduğundan, doğru durum sayfası bu durumda sunucudan yüklü olacağından, tekrar açtıktan sonra görüntülenecektir (ben varsayarak yaşıyorum) ...

Sen de, sen devre dışı JavaScript desteği ile insanlar için ne yapmak istediğinizi düşünmek zorunda.

Eğer kodlama-bilge daha fazla yardıma ihtiyacınız varsa, comment!

Bir üretim site Eğer tıklama sayfaları değiştirirseniz, o zaman tüm javascript yer almak zorunda kalmazsınız, muhtemelen, yine bir javascript daha az çözüm sunmak istiyoruz gidiyoruz. Varsayılan olarak 0'dır veritabanında bir "okuma" boolean alan oluşturun. Eğer yoluyla tıkladıktan sonra olsun bu sayfada php aracılığıyla bu kayıt için 1 "okumak", kaydı görüntülemek url kayıt id tutmak ve değiştirmek için tıklama zaman.

Eğer tıklama sonra aynı sayfada kalmak için arıyorsanız, o zaman Franz yukarıda bahseder gibi javascript, yer almak gerekir, ancak katma değer olarak javascript ile, ilerici geliştirme şekilde yapmak için iyi ve altında zaten mevcut temel işlevi.

Belki bu daha iyi biçimlendirilmiş olabilir ama bu aradığınız kavramı açısından çalışması gerekir.

E-posta sonuç kümesi üzerinde döngü.

<tr class="email_unread"><td><img class="email" id="email_id_'.$email_id.'" /></td><td> '.$email_subject.' </td></tr>

Eğer e-posta okundu olup olmadığına bağlı olarak email_read veya email_unread birine sınıf açardı. ($ email_read = 1) $ css = "email_read" ise; else $ css = "email_unread";

Dirty Work yapmak için jQuery kullanmak.

<script type="text/javascript">
        $(document).ready(function() {
            $("img.email").click(function(){

                    $.get("emailRead.php", { id: $(this).attr("id") } );
                    $(this).parent().parent().removeClass('email_unread').addClass('email_read');

            });

        }); 
    </script>

Bu emailRead.php olurdu

connect_db(); // CONNECT TO DB

$id = $_GET['id'];
$id = str_replace("email_id_","",$id);

$query="UPDATE email SET email_read = 1 WHERE email_id = '$id'";

$getResults=mysql_query($query) or die(mysql_error());

Burada, GET VAR kapmak sadece numarasını almak ve sonra güncelleştirme sorgusu kullanmak için email_id_ bölümünü Döşeme. Tabii ki emailRead.php haline geliyor ne güvenlik kontrolleri yapmak gerekir