• 13-05-2009, 16:53:54
    #1
    Siteme şöyle bir kod koydum ve son 5 içeriği kategorlere göre sıralıyor.

    <div class="part_2">
    				<?
    			$i=0;
    			$sql="SELECT oykuler.id, oykuler.turlerid, turler.ad, turler.bilgi
    			FROM oykuler
    INNER JOIN turler ON oykuler.turlerid = turler.id
    		WHERE oykuler.yayin='E' ORDER BY oykuler.tarih DESC LIMIT 0,5;";
    			$sorgu=mysql_query($sql,$link);
    			while($data1=Mysql_Fetch_Array($sorgu))
    		{
    			$i++;
    		?>
    					<div class="title"><a href="<?=$data1[3]?>"><?echo stripslashes ($data1[2])?></a></div>
    			<? } ?></div>
    PROBLEM NEDİR?

    Siteye eklediğim son 5 öykü aynı kategoriye ekleninde bu bölümde 5 defa aynı kategrinin adı yazılıyor.

    Siteyi yayına koyduktan sonra bu şey başıma çok gelecektir.

    Acaba ne yaparsam bu bölüm, içerik aktarılmış son 5 kategoriyi gösterir? Yani derdim o ki bu bölümde bir kategorinin adı birden fazla gösterilmesin.
  • 13-05-2009, 17:10:41
    #2
    kapatma divini bir üst satıra taşır mısın
  • 13-05-2009, 17:35:01
    #3
    Taşıdım. Bir değişiklik yok.
    Ama be tür bir değişiklik olabilirdi ki?

    Öğrendim ki SELECT distinct ad, soyad şeklinde yaparsak veri tekrarına izin vermiyormuş.

    O zaman da aşağıda verdiğim kodtaki şu yer hata veriyor:

    {
    $i++;
    ?>
    Bu olmasa zaten son 5 veriyi alamam ki.
  • 13-05-2009, 18:02:44
    #4
    GROUP BY makine_ilan.yazarid

    şeklinde sorunu çözdüm, umarım böyle sorun yaşayanlara örnek olur.
  • 13-05-2009, 22:28:46
    #5
    LIMIT 0,5;
    burdaki ; anlamı ne gereksiz değil mi=?
  • 14-05-2009, 12:29:42
    #6
    Misafir
    Sorgu neden 2 değişkende acaba bir üst değişkende mysql_query olarak kullanabilirsiniz
  • 14-05-2009, 12:37:12
    #7
    YuqseLX adlı üyeden alıntı: mesajı görüntüle
    LIMIT 0,5;
    burdaki ; anlamı ne gereksiz değil mi=?
    5 tane yazdırıyorum, en son güncellenen 5 kategoriyi sıralatıyorum.


    ByMsT adlı üyeden alıntı: mesajı görüntüle
    Sorgu neden 2 değişkende acaba bir üst değişkende mysql_query olarak kullanabilirsiniz
    Teorik soru ve cevapları anlayacak kadar PHP dilini bilmiyorum. Gözlerim kapalı yazıyorum.
  • 14-05-2009, 13:16:34
    #8
    DESC LIMIT 0,5;"; query'de hata var arkadasın söyledigi gibi orda ; kullanmanın bir anlamı yok hatanın sebebide o olabilir.

    Böyle olmalı

    DESC LIMIT 0,5";

    <div class="part_2">
                    <?
                $i=0;
                $sql="SELECT oykuler.id, oykuler.turlerid, turler.ad, turler.bilgi
                FROM oykuler
    INNER JOIN turler ON oykuler.turlerid = turler.id
            WHERE oykuler.yayin='E' ORDER BY oykuler.tarih DESC LIMIT 0,5";
                $sorgu=mysql_query($sql,$link);
                while($data1=Mysql_Fetch_Array($sorgu))
            {
    
            ?>
                        <div class="title"><a href="<?=$data1[3]?>"><?echo stripslashes ($data1[2])?></a></div>
                        
                <?
                            $i++;
                            }
            ?></div>
  • 14-05-2009, 13:40:42
    #9
    Teşekkür ederim. Şimdi anladım.