folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Site İçi Mesaj Sistemi İçin Tablo Problemi - Çözüldü



Site İçi Mesaj Sistemi İçin Tablo Problemi - Çözüldü

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Zande
    Zande's avatar
    Kayıt Tarihi: 16/Mayıs/2012
    Erkek

    Değerli Müridler;

    Php ve Mysql ile bir CV veritabanı hazırlarken; bir konuda takıldım. Üyelerin (yaklaşık 60,000 kişi); pozisyonları ve grupları var. Ayrıca iş ilanları girişi yaptığım da bir ekran var.

    Girdiğim iş ianı; hangi gruba hitap ediyorsa; o grupta ki üyelere site içerisinden mesaj göndermek istiyorum. Bu amaçla iki tane tablo oluşturdum.

    -----

    Tablo:1

    mesajlar

    id - konu - mmetin - gönderici - alıcıgrup - tarih

    -----

    Tablo:2

    mesajdagitim

    id - mesajid - alıcıgrup - alıcıid - okuyanlar - silenler

    -----

    2.tabloda ki alıcıid, okuyanlar ve silenler kısmını text yapıp; grup içerisinde ki kullanıcıların id'lerini , ile ayırmak suretiyle kaydettim. Aklımda; bu text'lerin içerisinden değerleri alıp; aynı zamanda okunan ve silinenleri tespit etmek ve ona göre inbox'u güncellemek vardır. Amma velakin; bir türlü burasını beceremedim. Eğer bu alanları text değil; int yapıp; her mesaj için grup içinde ki kullanıcı id'lerini tektek kaydedersem problem kalmıyor. Ama o zaman da; bir günde 3 ilan yayınlarsam; ortalama günlük 35000 yeni kayıt oluşuyor tablo2'de.

    Bu konu hakkında bana tavsiyede bulunabilecek var mı?

    Arkadaşlar; günlerdir düşündüğüm hedeyi; buraya post attıktan kısa süre sonra çözdüm. İhtiyacı olan olursa diye kodu paylaşıyorum...

    $rowx = sizeof($rows);
    $exread = 0;
    $exdeleted = 0;
    $readarray = array();
    $delarray = array();
    
    for ($rowi = 0; $rowi < $rowx; $rowi++) {
    $unrow = explode(",",$rows[$rowi][4]);
    $delrow = explode(",",$rows[$rowi][5]);
    	if (in_array("17", $unrow)) {
    		$exread++;
    		$readarray[] = $rows[$rowi][0];
    	}
    	if (in_array("17", $delrow)) {
    		$exdeleted++;
    		$delarray[] = $rows[$rowi][0];
    	}
    }
    
    echo "No of Read Messages : ".$exread." (Okunan mesaj numaraları : ".$readarray[0]." ".$readarray[1].")<br><br>";
    
    echo "No of Deleted Messages : ".$exdeleted." (Silinen mesaj numaraları : ".$delarray[0]." ".$delarray[1].")<br><br>";

     

    Zande tarafından 18/Haz/17 22:31 tarihinde düzenlenmiştir
Toplam Hit: 1572 Toplam Mesaj: 1
php mysql site içi mesaj message script massage thai massage