Sitemde Etiket işlemi yaptım hepsi tamam parçaladım seo url verdim ama nasıl yakalarım onu bir türlü çözemedim.
Örnek : sitem.com/tag/ikindi-ezanı ( Seo ile çeviriyorum DB Tabloda İkindi Ezanı )
Bunutag sayfasında nasıl yakalar ve listelerim bir türlü bunu oturtamadım kafamda fikir verecek varmı acaba.
Php Etiket sistemi mantığı
13
●930
- 12-06-2019, 15:58:07tagları nasıl alırım ama sorunum bu. ikindi-ezani yazıyor ama tabloda İkindi Ezanı yazıyor like ile aratsam ikindi-ezani diye aratacak ve birşey bulamayacak.
url kısmından alsam :
yavuzk adlı üyeden alıntı: mesajı görüntüle - 12-06-2019, 16:05:00İyide yukarıda belirttim url aldım ikindi-namazi
select çektiğimde ikindi-ezani diye arayacak ama tabloda ikindi ezanı yazıyor nasıl bulacak bunu ?
yavuzk adlı üyeden alıntı: mesajı görüntüle - 12-06-2019, 16:18:10Url de bulunan tag ı alıp bunun name değerini bulan bir fonksiyon yazabilirsin. Sonra buldugun name değerini select sorgusuna dahil edip aradığın dataya ulaşabilirsin.
Kabaca;
function nameBulucu($tag)
{
burada sql sorgusu ile tag ın name değerini return et
}
Arama Sorgusu
select * from tablename WHERE columb LIKE '".nameBulucu('ikindi-ezani')."' - 12-06-2019, 16:25:49dostum İkindi Ezanı etiketini permalink'e çevirirken direk kafadan çevirmeyeceksin permalink fonksiyonları var bknz
buradan sonra 2 farklı yolla yapabilirsiniz
1. yol > İkindi Ezanı olarak kaydedilen veriyi url'de gösterirken permalink('İkindi Ezanı') olarak gösterirsiniz, db eşitlemesinide aynı şekilde yaparsınız
2.yol > Etiketleri kaydederken etiket_adi ile birlikte etiket_url'de kaydedersin url bölümüne direk permalink fonksiyonundan geçirilmiş şekilde kaydedersin ve etiketleri listelerken url sütununa göre listelersin olur biter - 12-06-2019, 19:47:47farklı bir yöntem sunayım sana muhtemelen daha basit olacak.
// Diyelim urlden get değeri aşağıdaki gibi geldi. $_GET['tag'] = "ikindi-ezani "; $getData = str_relpace('-',' ',$_GET['tag']); //çıktı= ikindi ezani // Sen eğer ilk harfleri büyük olsun dersen $getData = ucfirst( str_relpace('-',' ',$_GET['tag'])); //çıktı = İkindi Ezanidata sonra veritabanında ilgili yerden LIKE ile arama yaparak bulabilirsin. - 13-06-2019, 00:50:54Aslında çok mantıklı ama bu yöntem ile türkçe karakter problemi yaşayacağı için doğru sonuçları bulamayacaktır. (ezan"i"/ezan"ı")_halisoglu_ adlı üyeden alıntı: mesajı görüntüle