[]
Takipçi sistemi vs. (php)
şu twitter'daki sisteme benzer bir şey yapmak istedim. nasıl yapabileceğimi düşündüm. Ve şöyle yapabileceğimi sanıyorum: üye girişi yapmayanlar, anasayfadaki tüm yazıları görürler, üye girişi yapanlar ise "takip ettikleri" kişilerin yazdıklarını görürler yalnızca.
sanırım bu mantıkta bir sorun yok.
bir input sistemiyle de, her kullanıcının takip ettiklerini ayarlayabilirim. yine sorun yok gibi.
ancak merak ettiğim şey, mysql'den yalnızca takip ettirdiklerimin yazdıklarını nasıl çektirebilirim. yani select * from ile nasıl bir where şartı kullanabilirim?
neticede where'den sonra birden çok "and kadi='a' and kadi='b'" şeklinde kullanıcıları eklemeliyim. ancak bu araları nasıl bağlayabilirim ki?
örneğin kullanıcı, input kısmına kullanıcı adını yazdı. admin diyelim ismine, ardından bir kullanıcı daha ekledi admin2 diye ve sonra admin3 ve admin4 admin5 admin6 diye kullanıcılar ekledi.
uyeler isimli tablomda da arkadaşın "takip ettikleri" sütununa denk gelen hücrede sırayla yazıyor admin admin2 admin3 admin4 gibi isimler yazıyor.
php'de nasıl bu isimleri ayrı ayrı "and kadi='admin' and kadi='admin2'" şeklinde tanıttırıp sadece onların yazılarını çekebilirim ki? pratik bir önerisi olan var mı?
explode komutuyla tüm isimleri tek tek alabilirim hücre içinden. ancak her kullanıcının takip edeceği kişi sayısı farklı olduğu için kodun devamını nasıl kotaracağımı bilemedim.
arapça gibi yazdım resmen yav. siz de hiçbir şey anlamadıysanız capslerle falan filan anlatmaya çalışayım tekrar.
sanırım bu mantıkta bir sorun yok.
bir input sistemiyle de, her kullanıcının takip ettiklerini ayarlayabilirim. yine sorun yok gibi.
ancak merak ettiğim şey, mysql'den yalnızca takip ettirdiklerimin yazdıklarını nasıl çektirebilirim. yani select * from ile nasıl bir where şartı kullanabilirim?
neticede where'den sonra birden çok "and kadi='a' and kadi='b'" şeklinde kullanıcıları eklemeliyim. ancak bu araları nasıl bağlayabilirim ki?
örneğin kullanıcı, input kısmına kullanıcı adını yazdı. admin diyelim ismine, ardından bir kullanıcı daha ekledi admin2 diye ve sonra admin3 ve admin4 admin5 admin6 diye kullanıcılar ekledi.
uyeler isimli tablomda da arkadaşın "takip ettikleri" sütununa denk gelen hücrede sırayla yazıyor admin admin2 admin3 admin4 gibi isimler yazıyor.
php'de nasıl bu isimleri ayrı ayrı "and kadi='admin' and kadi='admin2'" şeklinde tanıttırıp sadece onların yazılarını çekebilirim ki? pratik bir önerisi olan var mı?
explode komutuyla tüm isimleri tek tek alabilirim hücre içinden. ancak her kullanıcının takip edeceği kişi sayısı farklı olduğu için kodun devamını nasıl kotaracağımı bilemedim.
arapça gibi yazdım resmen yav. siz de hiçbir şey anlamadıysanız capslerle falan filan anlatmaya çalışayım tekrar.
SELECT * FROM tablo
WHERE kAdi IN ('admin', 'admin2', 'admin3', ... , 'admin100')
WHERE kAdi IN ('admin', 'admin2', 'admin3', ... , 'admin100')
- turkay (30.01.12 14:47:02)
anladım birazdan denemeye başlayayım, aksilik çıkarsa sorarım yine. bu yönteme göre sanırım explode'a ihtiyacım yok, sadece database'e yazıları ' ',' ', şeklinde göndermem gerekiyor.
explode'la yapsaydım eğer, kelime sayısı kişiden kişiye değiştiği için $explode[0] $explode[1] $explode[2] şeklinde çektiremezdim. böyle sayısı belli olmayan durumlar için explode'u nasıl kullanabilirim? (hani kullanmaktan ziyade öğrenmek için soruyorum)
explode'la yapsaydım eğer, kelime sayısı kişiden kişiye değiştiği için $explode[0] $explode[1] $explode[2] şeklinde çektiremezdim. böyle sayısı belli olmayan durumlar için explode'u nasıl kullanabilirim? (hani kullanmaktan ziyade öğrenmek için soruyorum)
- tchuck (30.01.12 14:52:35 ~ 14:56:14)
tchuck,
foreach kulllanabilirsin eleman sayısını bilmediğin dizi için.
ya da önce count ile eleman sayısını öğrenir, sonra for kullanabilirsin. while'da kullanabilirsin sana kalmış.
foreach kulllanabilirsin eleman sayısını bilmediğin dizi için.
ya da önce count ile eleman sayısını öğrenir, sonra for kullanabilirsin. while'da kullanabilirsin sana kalmış.
- turkay (30.01.12 16:19:04)
yav bir sorunum var :S
mesela şimdi cafer isimli üyem var. veritabanımda cafer satırının, takip sütununa denk gelen hücresine, cafer'in takip ettirdiklerini yazacağım.
hücre içindeki önceki verileri silmeden veriyi nasıl ekleyebilirim bu hücrenin içine? (önceki verilerden önce ya da sonra gelmesi önemli değil)
ve yine bu hücre içindeki kelimelerden yalnızca istediğimi nasıl silebilirim? (hücreye kayıtta sef sistemini kullanacağım için tek kelimelik olacaklar. o yüzden kelime kelime diyorum)
mesela şimdi cafer isimli üyem var. veritabanımda cafer satırının, takip sütununa denk gelen hücresine, cafer'in takip ettirdiklerini yazacağım.
hücre içindeki önceki verileri silmeden veriyi nasıl ekleyebilirim bu hücrenin içine? (önceki verilerden önce ya da sonra gelmesi önemli değil)
ve yine bu hücre içindeki kelimelerden yalnızca istediğimi nasıl silebilirim? (hücreye kayıtta sef sistemini kullanacağım için tek kelimelik olacaklar. o yüzden kelime kelime diyorum)
- tchuck (30.01.12 18:51:36)
ben olsam su sekilde yapardım:
users :
user_id int
username varhcar(50).... seklinde gider
takip:
id int,
takip_eden_id int,
takip_edilen_id int
entryler :
entry_id int,
user_id int
entry varchar(128)... seklinde gider
sonra 1 id li kullanıcının takip ettiği kullanıcıların entrylerini cekecegim zaman
SELECT * FROM entryler WHERE user_id IN (SELECT takip_edilen_id FROM takip where takip_eden_id = 1);
users :
user_id int
username varhcar(50).... seklinde gider
takip:
id int,
takip_eden_id int,
takip_edilen_id int
entryler :
entry_id int,
user_id int
entry varchar(128)... seklinde gider
sonra 1 id li kullanıcının takip ettiği kullanıcıların entrylerini cekecegim zaman
SELECT * FROM entryler WHERE user_id IN (SELECT takip_edilen_id FROM takip where takip_eden_id = 1);
- yasaluyari (30.01.12 22:38:03)
1