Advertisement:

Author Topic: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)  (Read 65947 times)

Offline Pijama

  • Full Member
  • ***
  • Posts: 559
  • Gender: Male
  • ßirgün Mutlaka !
Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« on: February 15, 2009, 06:59:53 PM »
Merhabalar
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ştirecegiz
bu 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ın

Daha 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ın

Veritabanı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ın

Evet işte sql sorgu panelimiz



bu panele aşagıda verdigim sorguyu yazıp sağ alt köşedeki GiT butonunu tıklıyoruz

Code: (SMF 1.x) [Select]
UPDATE smf_messages SET ID_MEMBER='YENI_UYE_NUMARASI' WHERE posterName='ESKI_KULLANICI_ADI';

Code: (SMF 2.x) [Select]
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ın

ESKI_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ın

Evet silinmiş üyemizi geri getirdik
yanlı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

Code: (SMF 1.x) [Select]
SELECT COUNT(*) FROM smf_messages WHERE posterName = 'ESKI_KULLANICI_ADI';

Code: (SMF 2.x) [Select]
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ın

Evet 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

Code: (SMF 1.x) [Select]
UPDATE smf_members SET posts = 'TOPLAM_MESAJ_SAYISI' WHERE ID_MEMBER = 'YENi_UYE_NUMARASI'

Code: (SMF 2.x) [Select]
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ın

Evet tüm işlemler bitti
Yeni ü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..

« Last Edit: May 14, 2009, 05:12:06 PM by Yağız... »
  &

Offline c a g a t a y

  • Full Member
  • ***
  • Posts: 633
  • Gender: Male
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #1 on: February 16, 2009, 04:00:49 PM »
Eyvallah Pijama
Sık sık lazim olan bir konu oldugundan ADD to BOOKMARK yaptim bu konuyu

Selamlar

Offline turanordusu.tc

  • Sr. Member
  • ****
  • Posts: 901
  • Gender: Male
    • Turan Ordusu
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #2 on: March 09, 2009, 09:24:37 PM »
Emeğine sağlık Çok güzel ve açıklayıcı bir anlatım olmuş. ;)

Offline ttopchu

  • Newbie
  • *
  • Posts: 7
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #3 on: March 11, 2009, 07:25:40 AM »
çok teşekkürler

Offline Gökhan | Brestgerfich

  • Sophist Member
  • *****
  • Posts: 1,369
  • Gender: Male
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #4 on: March 12, 2009, 08:26:31 PM »
Hocam şu an sitemdeki son üye THE-X, forumda 309. üye olarak görünüyor. (http://www.takilanlar.com/profile/?u=309 şeklinde yani)

Ancak silinen üyelikler nedeniyle forum istatistiklerinde 293 üye görünüyor. Arada 16 üyelik bir fark var yani.
Yukarıda yaptığınız anlatımla bu 16 üyelik farkı kapIk mümkün mü? Benim anladığım kadarıyla mümkün değil -yeni bir üyelik açtığımız için böyle düşünüyorum- ama size bi sorayım dedim.

Offline Pijama

  • Full Member
  • ***
  • Posts: 559
  • Gender: Male
  • ßirgün Mutlaka !
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #5 on: March 16, 2009, 12:51:00 PM »
Mucize dedigini anladım

Tam olarak şöyle demeye çalışıyorsun
silinen üyeyi, silinmeden önce hangi ID numarasıydaysa o ID numarasıyla birlikte geri alayım
böylelikle Üye sayısı ile ID numaraları paralel yürüsün diyorsun..

Bence bir kaç msql sorgusuyla buda olur diye düşünüyorum ama emin değilim
yinede profesyonel anlamda bir hocamıza danışmak lazım
biliyorsunki, verdigim sorguları yağız hocamız hazırlamıştı..

Herhangi bir bilgi edindigimde burda paylaşırım
şimdilik kolay gelsin..

Ayrıca teşekkür eden arkadaşlara, ilgilerinden dolayı ben teşekkür ederim
umarım işlerine yaramıştır.

Iyi Calışmalar..
  &

Offline Yağız...

  • SMF Super Hero
  • *******
  • Posts: 10,809
  • Gender: Male
    • MMO Browser
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #6 on: March 16, 2009, 12:55:02 PM »
Bunun için sanırım rallyproco birşey hazırlamıştı. Burada da olması gerekiyor. Bir bakayım ama çalışmayabilir...

Offline Gökhan | Brestgerfich

  • Sophist Member
  • *****
  • Posts: 1,369
  • Gender: Male
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #7 on: March 17, 2009, 02:11:48 PM »
İlginiz için teşekkürler Pijama ve Yağız ;)

Offline Yağız...

  • SMF Super Hero
  • *******
  • Posts: 10,809
  • Gender: Male
    • MMO Browser
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #8 on: March 17, 2009, 02:19:05 PM »
Buldum, ve çalıştırdım. Ama bazı hataları var. O yüzden biraz daha deneme yapacağım :)

Offline €®Ю€∏∏----®

  • Sr. Member
  • ****
  • Posts: 806
  • Gender: Male
  • Wirtue BLACKWOLF
    • Sitem
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #9 on: April 01, 2009, 01:31:38 PM »
eline emeğine sağlık hocam çok güzel olmuş

Offline c a g a t a y

  • Full Member
  • ***
  • Posts: 633
  • Gender: Male
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #10 on: May 11, 2009, 02:22:14 PM »
Babalar kafai yedim olmuyor

UPDATE smfyedek_messages SET ID_MEMBER='23708' WHERE posterName='TURKSOYLU'

sorguda hersey normal (smfyedek tablo adi böyle)

Neden olmadigi konusunda bir fikri olan?

Offline Yağız...

  • SMF Super Hero
  • *******
  • Posts: 10,809
  • Gender: Male
    • MMO Browser
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #11 on: May 11, 2009, 02:24:33 PM »
posterName yanlış olabilir.

Offline c a g a t a y

  • Full Member
  • ***
  • Posts: 633
  • Gender: Male
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #12 on: May 12, 2009, 02:30:27 AM »
adım gibi eminim dogru Yagiz'cim
Sifir result ile dönüyor cok ilginc?

Offline Gökhan | Brestgerfich

  • Sophist Member
  • *****
  • Posts: 1,369
  • Gender: Male
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #13 on: May 14, 2009, 04:27:16 PM »
#1054 - Unknown column 'posterName' in 'where clause'

hatası cıktı :S

Offline Yağız...

  • SMF Super Hero
  • *******
  • Posts: 10,809
  • Gender: Male
    • MMO Browser
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #14 on: May 14, 2009, 05:12:28 PM »
SMF 2.0 için eklendi.

Offline Gökhan | Brestgerfich

  • Sophist Member
  • *****
  • Posts: 1,369
  • Gender: Male
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #15 on: May 14, 2009, 07:58:21 PM »
Teşekkürler Yağız...

Konu sayısı için topics tablosunda arama yaptım. poster_name yerine starter_name yazdım ama kabul etmedi.
Ne olabilir ?

Offline agguvenligi

  • Semi-Newbie
  • *
  • Posts: 74
  • Gender: Male
    • Online Gamers Platform
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #16 on: May 18, 2009, 06:51:56 PM »
çok güzel bir paylaşım olmuş teşekkürler .
Gerçeği aramak onu bulmaktan daha kıymetlidir...
____________________________________
Online Oyuncular | Yeni Private Serverlar | Gsm Destek | Dizin

Offline asaddas

  • Semi-Newbie
  • *
  • Posts: 38
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #17 on: August 24, 2009, 04:11:34 PM »
Teşekkürler Yağız...

Konu sayısı için topics tablosunda arama yaptım. poster_name yerine starter_name yazdım ama kabul etmedi.
Ne olabilir ?

+1
Bir yardım ederseniz sevinirm  :)

Offline Özgür

  • SMF Hero
  • ******
  • Posts: 3,925
  • Gender: Male
  • Özgür | jQuery Lover
    • ozgurce on Facebook
    • @ozgurce on Twitter
    • Özgür Yalçın
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #18 on: August 24, 2009, 08:24:59 PM »

2.0 için admin paneli bakım bölümünde "Kullanıcı iletilerini ilişkilendir" var. Ordan yapın bu işlemi.

Offline asaddas

  • Semi-Newbie
  • *
  • Posts: 38
Re: Silinmiş Üyeyi Geri Getirmek (Resimli anlatım)
« Reply #19 on: August 25, 2009, 09:50:12 AM »
Ben henüz 1.1.9 kullanıyorum