lostyazilim

İsmin baş harfine göre renk seçme ?

5 Mesajlar 833 Okunma
lstbozum
wmaraci reklam

afyok28 afyok28 WM Aracı Kullanıcı
  • Üyelik 17.08.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek öğrenci
  • Konum Diğer
  • Ad Soyad O** O**
  • Mesajlar 44
  • Beğeniler 11 / 5
  • Ticaret 0, (%0)
Merak ettiğim bi konu youtube gmail diğer sitelerde v.s
Profil resmin yoksa adın başharfine göre renk seçiyor.
Bu işlemi neye göre yapıyor bilgisi olan ?
 

 

wmaraci
reklam

resulzade resulzade Sosyal Medya Uzmanı Kullanıcı
  • Üyelik 14.06.2018
  • Yaş/Cinsiyet 34 / E
  • Meslek Sosyal Medya Uzmanı, Editör
  • Konum Azerbeycan
  • Ad Soyad M** R**
  • Mesajlar 205
  • Beğeniler 7 / 41
  • Ticaret 8, (%100)
Ben bildiğim kadarıyla random yapıyor. Çünkü Muhammed ismiyle oluşturduğum iki farklı GMail hesabında, birisinde mavi rengin üzerine M yazıldı, diğerinde açlk-kırmızı rengin.
afyok28

kişi bu mesajı beğendi.

afyok28 afyok28 WM Aracı Kullanıcı
  • Üyelik 17.08.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek öğrenci
  • Konum Diğer
  • Ad Soyad O** O**
  • Mesajlar 44
  • Beğeniler 11 / 5
  • Ticaret 0, (%0)
Heralde kayıt olurken random seçip v.t ye öyle kaydediyor. Teşekkürler :)
 

 

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Hocam hazır konusu açılmışken bir öneride bulunayım bu konu ile ilgili her kullanıcı için ekstra veritabanında alan kaplamış olmayın.

kısa bir örnekle anlatmak gerekirse;


function returnColorCode()
{
return array (
"FF3636"//kirmizi
,"AA4242"//bordo
,"F0B047"//turuncu
,"91F047"//acik yeşil
,"70AA42"//koyu yeşil
,"13E1D8"//açık mavi
,"137DE1"//mavi
,"6713E1"//mor
);
}

function returnUserBackgroundColorCode($userId)
{
$renkler = returnColorCode();
$renkSayisi = count($renkler);
return $renkler[$userId % $renkSayisi];
}


Yukarıda yazdığım kodda returnColorCode fonksiyonu içinde renklerinizi tutuyorsunuz. İleride isterseniz buraya yeni renk kodları ekleyerek göstereceğiniz renk sayısını da arttırabilirsiniz(dilerseniz array'i iki boyutlu yaparak foreColor rengi de tutabilrisiniz her renk için)

İkinci fonksiyon olan returnUserBackgroundColorCode fonskiyonu ise kullanıcının neredeyse her sayfa için hali hazırda çekmiş olduğunuz userId'sini alıp, renkler array'inin boyutuna göre mod olarak bu array'den kullanıcı için denk gelen rengi çekip size döndüren method. Bu sayede yeni bir renk eklemediğiniz sürece daima kullanıcı için aynı rengi göstereceksiniz ve ekstra bir veritabanı maliyeti gerekmemiş olacak :)

Örnek kullanım ve çıktı:


echo returnUserBackgroundColorCode(5);
echo returnUserBackgroundColorCode(100);
echo returnUserBackgroundColorCode(2987);

//
//Çıktılar :
//
//13E1D8
//70AA42
//91F047
//
afyok28 Abdullahx

kişi bu mesajı beğendi.

wmaraci
wmaraci

afyok28 afyok28 WM Aracı Kullanıcı
  • Üyelik 17.08.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek öğrenci
  • Konum Diğer
  • Ad Soyad O** O**
  • Mesajlar 44
  • Beğeniler 11 / 5
  • Ticaret 0, (%0)
VAY CANINA akıllıca bir algoritma :))
phpde tuttuğun renk değerlerini sql'de mod uzayına göre kaydedip ordan çekmek nasıl olur sunucunun Ram kullanımı açısından ?
ram ile hız arasında ters ilişki var php de yazdığın kısa sürer sql den çekip yaptığın yöntem daha uzun.
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al