Daha önce bu konu
Elmacik arkadaşımız tarafından anlatıldı.
Bir çok kişi bu anlatım sayesinde silinmiş eski üyelerini veya
kazara silinen üyelerini geri getirmeyi başardı.
Fakat bu işlemden sonra yeni bir ihtiyaç ortaya çıktı.
Peki nedir bu ihtiyaç ?
"Geri getirilen üyenin mesaj alanındaki yan profilde bulunan Mesaj Sayısı: kısmı degişmiyordu"- Admin > Forum Bakımı > İstatistikleri ve forum toplamını yeniden say işe yaramadı
- Mysql den tabloları onardık yine işe yaramadı
- üyenin profilinden mesaj sayısını değiştirmeyi akıl ettik yine olmadı
çünkü eski üyeliğin kaç mesajı olduğunu bilmiyorduk
Şimdi hem
silinen üyemizi geri getireceğiz hemde
mesaj sayısını değiştirecegizbu durumu şuanda forum sitemde silinmiş bir üyeyi örnek vererek, resimli olarak anlatacağım
Silinmiş olan üye profilini aşağıda görüyorsunuz
mesaj tarihine dikkat edin..
Resim açılmadıysa burayı tıklayınDaha sonra bu üye foruma farklı bir isimle kayıt olup tonca mesaj yazmış
kendisini silen bu üyenin yeni isimle aldıgı yeni profili aşagıda görüyorsunuz
eski sildiği isimle bir daha kayıt olabilirdi. Bu hiç bir işlemimizde farklılık göstermeyecktir.
Resim açılmadıysa burayı tıklayınŞimdi bu üye yanıma geldi ve eski mesajlarımı yeni üyeliğime eklermisiniz dedi
"
hay hay ne demek işimiz bu" demedim tabi
bende Elmacık arkadaşımızın konusuna göz attım ve sonra Yağız hocamı soru bombardımanına tuttum
3 sql sorgusuyla isteklerimizi tam anlamıyla gerçekleştirdik.
Başlıyoruz..
öncelikle silinmiş üyenizin yeni bir üyeliği yoksa hemen yeni bir üyelik alın
alacağınız yeni üyelik ismi, silinmiş olan üyelik ismi ile aynı olabilir.
cPanelden phpMyadmin sayfamıza baglanıyoruz
ve SMF forum sitemiz için kurduğumuz veritabanını tıklıyoruz
Resim açılmadıysa burayı tıklayınVeritabanımızı seçip tıkladıktan sonra açılan sayfada
veritabanının ismi üzerinde duran
SQL simgesi tıklıyoruz
ve karşımıza sql sorgu paneli çıkıyor
Resim açılmadıysa burayı tıklayınEvet işte sql sorgu panelimiz

bu panele aşagıda verdigim sorguyu yazıp sağ alt köşedeki GiT butonunu tıklıyoruz
UPDATE smf_messages SET ID_MEMBER='YENI_UYE_NUMARASI' WHERE posterName='ESKI_KULLANICI_ADI';
UPDATE smf_messages SET id_member='YENI_UYE_NUMARASI' WHERE poster_name='ESKI_KULLANICI_ADI';
bu sorguda dikkat edilmesi gerekenler şunlardır ve kendinize göre değiştiriniz
smf_messages kısmındaki
smf_ tabloların ön ekidir. Eger siz farklı bir ön ek kullanmışsanız degiştiriniz
YENI_UYE_NUMARASI nı bulmak için forum sitenizde yeni alınan üyeligin ismi üzerine mause getirin
örnek resim aşağıdadır.
Resim açılmadıysa burayı tıklayınESKI_KULLANICI_ADI silinen üyenin ismidir. Eski silinmiş üye ismi yani
evet sorgumuz hakkındaki bu ek bilgilerden sonra sorgumuzu çalıştırıyoruz
aşağıdaki resimde görüldügü gibi sorgumu kendime göre değiştirdim ve GiT butonuna basıyorum
Resim açılmadıysa burayı tıkla Evet aşağıdaki resimde gördügünüz gibi sorgumuz başarıyla çalıştı
ve eski
silinmiş üyeni tüm mesajları yeni üyelik ismine aktarıldı
Resim açılmadıysa burayı tıklayınızİşte farkları belgeleyen resim
Resim açılmadıysa burayı tıklayınEvet silinmiş üyemizi geri getirdikyanlız ufak bir fark var üyenin yan Pofiline baktıgımızda mesaj sayısının
değişmedigini görüyoruz
halbuki mesaj sayısının yükselmesi lazımdı degilmi ? çünkü eski mesajlarıda ekledik
ilk önce silinmiş olan o eski üyemizin isminde kaç mesaj var onu bulmamız lazım
Yağız hocamız hemen bize sql sorgusunu verdi ve denemeye başlıyoruz
phpMyadmin sayfamızda veritabanının ismi üzerindeki SQL simgesini tıklıyoruz
ve açılan sql sorgu paneline aşağıdaki sorguyu yazıyoruz
SELECT COUNT(*) FROM smf_messages WHERE posterName = 'ESKI_KULLANICI_ADI';
SELECT COUNT(*) FROM smf_messages WHERE poster_name = 'ESKI_KULLANICI_ADI';
Sorguyu kendime göre değiştirerek uyguluyorum. Nasıl değişileceğini yukarda yazmıştım
karşıma eski silinmiş üyemizin mesaj sayısı geliyor. Hemen bu sayıyı yanıma not ediyorum
çünkü birazdan bu sayıyı yeni üyeliğe aktaracağız
Resim açılmadıysa burayı tıklayınEvet eski mesaj sayısını buldum
birde üyemin varsa şunki mesaj sayısını alıyorum
Eski mesaj sayısı : 5136
Yeni mesaj sayısı : 4247
Toplam Mesaj Sayısı: 9383
şimdi toplam mesaj sayısını yeni üyeliğe aktaralım
Yağız hocam sağolsun hemen sql sorgusunu bana veriyor
UPDATE smf_members SET posts = 'TOPLAM_MESAJ_SAYISI' WHERE ID_MEMBER = 'YENi_UYE_NUMARASI'
UPDATE smf_members SET posts = 'TOPLAM_MESAJ_SAYISI' WHERE id_member= 'YENi_UYE_NUMARASI'
YENi_UYE_NUMARASI nasıl bulunur yukarda anlatmıştım hemen ilgili yere yazıyoruz
TOPLAM_MESAJ_SAYISI kısmınada üyenin eski mesaj sayısı ve yeni mesaj sayısının toplamını yazıyorum
artık sql sorgularını nasıl çalıştıracağımızı biliyoruz degilmi
az once iki defa anlattım zaten
veritabanı ismi üzerindeki SQL simgesini tıklıyorum çıkan sorgu paneline sorgumu yazıyorum
ve GiT butonuna basarak işlemi gerçekleştiriyorum. Karşıma şöyle bir sonuç geliyor..
Resim açılmadıysa burayı tıklayınEvet tüm işlemler bittiYeni üyemiz böylelikle eski mesajlarına sahip oldu
Bu son verdigim sorgunun yerine şöylede yapabilirsiniz..Buldugunuz toplam mesaj sayısını ilgili üyenin profiline giderek
Üyelik Ayarları kısmını tıklayarak açılan sayfada mesaj sayısı kutucugunada yazabilirsiniz
Örnek resim:
Resim açılmadıysa burayı tıklayınİşte hepsi bu kadar
ilk baştada dediğim gibi 3 sorgulama işlemiyle istediğimizi yerine getirdik.
Konusuyla ilham veren
Elmacık arkadaşıma
ve hazırladığı sorgularla destek veren daha doğrusu
bu çalışmanın gerçek emekcisi
Yağız hocama sonsuz teşekkürlerimi sunarım
o olmasaydı bende bu çalışmayı hazırlamıyacaktım..
Umarım anlatım işinize yaramıştır..
Cümlemize kolay gelsin
Hayırlı çalışmalar..