• 27-11-2013, 18:06:05
    #1
    Üyeliği durduruldu
    Merhabalar,

    Php den mysql_query ile veri çekiyorum.

    koseyazilari tablosundan son köşe yazılarını çekiyorum.

    Kemal isimli yazar bir ayda bir yazı yazdığını ele alalım.
    Ali isimli yazar hafta da bir yazıyor.

    Şimdi son köşe yazılarını çekerken ALi isimli yazirin 2 kemal isimli yazarin bir yazisi yazısı çıkıyor.

    Ali isimli yazarın yazmiş olduğu son ve bir tane yazısını nasil çekerim?

    şimdiden teşekkürler.
  • 27-11-2013, 18:08:11
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    SELECT * FROM koseyazilari WHERE yazarid = 'YAZARID' DESC LIMIT 1
    Daha fazla yardım almak için; Takip edebilirsiniz.
  • 27-11-2013, 19:05:02
    #3
    Üyeliği durduruldu
    hocam burda ki WHERE yazarid = 'YAZARID' DESC LIMIT 1 id si yazilan yazarin yazısını çeker. Diğer yazarları da çekmeliyim.
  • 27-11-2013, 19:39:23
    #4
    distinct kullanmayı denediniz mi ?
  • 28-11-2013, 00:03:37
    #5
    Alıntı
    Ali isimli yazarın yazmiş olduğu son ve bir tane yazısını nasil çekerim?
    bu kısmı biraz daha açıklayabilirmisin
  • 28-11-2013, 00:37:04
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @videomontaj.com;

    SELECT * FROM `koseyazilari` WHERE `yazar_ismi` = 'Ali' ORDER BY `yayinlanma_tarihi` DESC LIMIT 0, 1
  • 28-11-2013, 14:49:47
    #7
    yazarlarını bir tabloda yazıları bir tabloda tutuyorsan bu çok kolay olackatır

    ilk sorgunda yazarların olduğu tabloyu sorgularsın ordan id sini alırsın 2. yazılar tablosundan da onu sorgulatırsın

    $yazar=mysql_query("SELECT id FROM yazarlar");
    while($yazar_al=mysql_fetch_array($yazar)){
    $yazar_id=$yazar_al['id'];
    $yazi_al=mysql_fetch_array(mysql_query("SELECT * FROM yazilar WHERE yazar_id='$yazar_id' ORDER BY id DESC LIMIT 1"));
    //yazılarını burdan istediğin şekilde seçebilirsin
    }
  • 28-11-2013, 19:29:01
    #8
    Üyeliği durduruldu
    @asimavi50 yazdığınızı yapıyorum ama yeni köşe eklendiğin de yeni eklenen yazı üste bu şekil de çıkmıyor. Bu sorunu nasıl çözebiliriz?

    $columnists = mysql_query("
    		SELECT DISTINCT authors
    		FROM news
    		WHERE status=1 AND
    		cat_id=1
    		order by id DESC 
    		
    	");
    Kodum budur.

    Sonuç şu şekil oluyor. Aşağıda gördüğün authors yazar id leri dir. Yazar id çektim ama ben burda bir de TITLE yi çekmek istiyorum.

    SELECT DISTINCT authors,title yaptım mı ne kadar haber varsa çekiyor.

    4
    3
    2
    1


    Aslinda yapmak istediğim şey, Haber tablosun da authors 1 olan köşe yazılarını çekmek.
  • 28-11-2013, 20:30:59
    #9
    farklı bir mantık aklıma geldi daha mantıklıda geldi bana açıkcası )

    $sorgula=mysql_query("SELECT * FROM yazilar ORDER BY id DESC");
    $yazar_yazdi_mi="";
    while($sonuc=mysql_fetch_array($sorgula)){
    $yazar_id=$sonuc['yazar_id'];
    if(!ereg(".$yazar_id.",$yazar_yazdi_mi)){
    //yazar yazisi listelenmemiş olacak burasi listelenecek

    $yazar_yazdi_mi.=".".$yazar_id.".";
    }
    }

    burda yazarın id sini değişkene atadım başına ve sonuna . koyarak sadece o id olsun istedim bunu yapmasak 11 id li yazdıysa ondan sonra 1 id ye sahip yazara geldiğimizde doğru olacak ve işlem yapmayacaktır...