lostyazilim
tr.link

ilgili haberleri gösterme

5 Mesajlar 755 Okunma
lstbozum
tr.link

myosotis myosotis Eos İletişim Kullanıcı
  • Üyelik 09.02.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 28
  • Beğeniler 0 / 2
  • Ticaret 0, (%0)
Merhaba,
Haberlere eklenen etiketlere göre ilgili haberleri göstermekte sıkıntı yaşıyoruz. Mevcut sistemimiz, etiketlerin tamamı aynıysa "İlgili haber olarazk algılıyor". Ama "En az 2 etiket aynıysa göster" gibi bir kod nasıl yapabiliriz?

Mevcut kod şöyle:
$sql = mysql_query("SELECT id,title,seotitle,short,news,images,category,link_date, oclock_date FROM news WHERE (public_time<$nowtime) and title like '%".$News_Data->tags."%' or tags like '%".$News_Data->tags."%' order by id desc limit 0,5");
while($home_one_news=Object($sql)){
?>
  • title) ?>



  • Umarım yardımcı olabilecek biri çıkar.
     

     

    wmaraci
    reklam

    Jason Jason WM Aracı Kullanıcı
    • Üyelik 30.05.2013
    • Yaş/Cinsiyet 34 / E
    • Meslek Yazılım Geliştirici
    • Konum İzmir
    • Ad Soyad E** Y**
    • Mesajlar 47
    • Beğeniler 11 / 13
    • Ticaret 1, (%100)
    Burada taglarınız tek bir değişkende olduğu için bütün taglar aynı olunca ilgili haberler çıkıyor o yüzden tagları parçalayıp tek tek sorgulatmalısınız değişkende tutulan tagların formatını bilmiyorum o yüzden tagları virgülle ayrılmış varsayıyorum buna göre alttaki düzenleme işinize yarayabilir.


    $taglar=explode(",",$News_Data->tags);
    foreach($taglar as $tag)
    {
    $sql = mysql_query("SELECT id,title,seotitle,short,news,images,category,link_date, oclock_date FROM news WHERE (public_time<$nowtime) and title like '%".$tag."%' or tags like '%".$tag."%' order by id desc limit 0,5");
    while($home_one_news=Object($sql))
    {
    ?>
  • title) ?>

  • }
    }
    ?>
     

     

    myosotis myosotis Eos İletişim Kullanıcı
    • Üyelik 09.02.2012
    • Yaş/Cinsiyet - /
    • Meslek
    • Konum
    • Ad Soyad ** **
    • Mesajlar 28
    • Beğeniler 0 / 2
    • Ticaret 0, (%0)
    Yanıt için teşekkür ederim. Sorunumu büyük ölçüde çözdü. Ancak "İlgili haberleri" göstermeyi ilk etiketten başlayarak yapıyor sanırım. 'En az 2 tane ortak etiketi olanları göstersin' gibi bişey mümkün mü acaba?
     

     

    Jason Jason WM Aracı Kullanıcı
    • Üyelik 30.05.2013
    • Yaş/Cinsiyet 34 / E
    • Meslek Yazılım Geliştirici
    • Konum İzmir
    • Ad Soyad E** Y**
    • Mesajlar 47
    • Beğeniler 11 / 13
    • Ticaret 1, (%100)
    Evet ilk etiketten başlıyor, dediğin yapılabilir ama yan yana iki etiket aratılır benzer 2 tane etiket olmasına rağmen yan yana olmazsa sonuç çıkmayabilir kodu ona göre değiştirdim ama denemedim umarım işine yarar.


    $taglar=explode(",",$News_Data->tags);
    $sayi=sizeof($taglar);
    for($i=0; $i<$sayi; $i++)
    {
    $sql = mysql_query("SELECT id,title,seotitle,short,news,images,category,link_date, oclock_date FROM news WHERE (public_time<$nowtime) and (title like '%".$taglar[$i]."%' and title like '%".$taglar[$i+1]."%') or (tags like '%".$taglar[$i]."%' and tags like '%".$taglar[$i+1]."%') order by id desc limit 0,5");
    while($home_one_news=Object($sql))
    {
    ?>
  • title) ?>

  • }
    }
    ?>
     

     

    wmaraci
    wmaraci

    myosotis myosotis Eos İletişim Kullanıcı
    • Üyelik 09.02.2012
    • Yaş/Cinsiyet - /
    • Meslek
    • Konum
    • Ad Soyad ** **
    • Mesajlar 28
    • Beğeniler 0 / 2
    • Ticaret 0, (%0)
    Sanırım 2 tane yanyana arıyor
     

     

    wmaraci
    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