• 24-08-2019, 16:00:32
    #1
    merhaba arkadaşlar veri tabanımda tabloda "Mavi","siyah","beyaz","sarı","yeşil" bu şekilde yazılar var bu örnek olsun diye ekledim dosya.php çalışdığında tüm yazılar listeleniyor ama benim istediğim her
    "Mavi","siyah","beyaz","sarı","yeşil" bu şekilde değilde her yazının rasgele 1 tanesini seçip göstersin istiyorum örnek: dünya ne renk (siyah ) veya (Sarı) diye rasgele çıksın istiyorum bu örnek yani bu renklerin yerine yazılar olucak ,
    kodlar
    <?
    $kanal=trim($_POST['vlink']);
    if(empty($kanal)){}
    else{
    foreach($db->query('SELECT * FROM yorum') as $listele) {
    
        $alan1 = $listele['vlink'];
        $alan2 = $listele['yorumlar'];
    $kodd = "$kanal - $alan1";
    if(strstr($alan1, $kanal))
    { }
    else {
        
        
    $EmailSay = $db->prepare("SELECT * FROM yorumlog WHERE pass = ?");
    $EmailSay->execute(array($kodd));
    $kontrol = $EmailSay->fetch(PDO::FETCH_ASSOC);
    
    if($kontrol > 0)
    {
    
    } else {
    
    
    echo " <a class='link'>$alan1</a>" ;
    echo " <br>    ";
    
    $sozler = array($alan2);    
    shuffle($sozler); // rastgele
    echo $sozler[0];
    
    echo " <a class='yorumlar'>$a[$anahtar]</a>" ;
    echo " <br>    ";
    
            }}}
    
    }
    
    ?>
  • 24-08-2019, 16:06:04
    #2
    Kurumsal Üye
    Sorgunuza order by rand() limit 1 eklerseniz var olan verilerden 1 adetini her defasında rastgele getirir. Sonundaki limit 1 ise 1 adet göster manasındadır.
  • 24-08-2019, 16:07:45
    #3
    OziyWeb adlı üyeden alıntı: mesajı görüntüle
    Sorgunuza order by rand() limit 1 eklerseniz var olan verilerden 1 adetini her defasında rastgele getirir. Sonundaki limit 1 ise 1 adet göster manasındadır.
    hocam benim istediğim şey yorumlar stunundaki ("Mavi","siyah","beyaz","sarı","yeşil") bu renklerden 1 tanesini seçip göstermesi
  • 24-08-2019, 16:08:23
    #4
    Kurumsal Üye
    fermayil adlı üyeden alıntı: mesajı görüntüle
    hocam benim istediğim şey yorumlar stunundaki ("Mavi","siyah","beyaz","sarı","yeşil") bu renklerden 1 tanesini seçip göstermesi
    Bahsettiğim şeyde bu o değerleri parçalayarak 1 adetle sınırlayın.
  • 24-08-2019, 16:10:18
    #5
    Gold üye
    fermayil adlı üyeden alıntı: mesajı görüntüle
    hocam benim istediğim şey yorumlar stunundaki ("Mavi","siyah","beyaz","sarı","yeşil") bu renklerden 1 tanesini seçip göstermesi
    $renkler=array("sarı","yeşil","mavi","kırmızı"); //RENKLER
    shuffle($renkler); // KARIŞTIR
    
    echo $renkler[0];
  • 24-08-2019, 16:12:14
    #6
    instads adlı üyeden alıntı: mesajı görüntüle
    $renkler=array("sarı","yeşil","mavi","kırmızı"); //RENKLER
    shuffle($renkler); // KARIŞTIR
    
    echo $renkler[0];
    hocam renklerin veri tabanından gelmesi lazım b u şekilde yaptım denedim olmadı
  • 24-08-2019, 16:16:13
    #7
    Kodlarda renklerle ilgili bir kısım göremedim, veri tabanı yapınızı gönderin örnek kodu yazayım.

    Edit: Yanlış anlamışım, örnek hazırlıyorum.

    Edit 2: Dediğim gibi veri tabanı yapınızı bilirsem direkt ona göre örnek de hazırlayabilirim.

    Şu yapıya göre hazırladım:


    <?php
    
        $renk = $db->query('SELECT * FROM colors ORDER BY RAND() LIMIT 1')->fetch(PDO::FETCH_ASSOC);
    
        print_r($renk);
    ?>
  • 24-08-2019, 16:18:58
    #8
    hocam veri tabanından gelen veriyi arraya ('$renkler') atın daha sonra örnek veriyorum "Mavi","siyah","beyaz","sarı","yeşil" 5 tane renk var veri tabanından gelen random($rnd) 0 ile 4 arası bir sayı aldırın daha sonra $renkler[$rnd]
    alternatif bir yol işinize yarar umarım
  • 24-08-2019, 16:28:29
    #9
    ilgilenen herkese teşekkür ederim sorunu çözdüm teşekkürler



    Byvolkan adlı üyeden alıntı: mesajı görüntüle
    Kodlarda renklerle ilgili bir kısım göremedim, veri tabanı yapınızı gönderin örnek kodu yazayım.

    Edit: Yanlış anlamışım, örnek hazırlıyorum.

    Edit 2: Dediğim gibi veri tabanı yapınızı bilirsem direkt ona göre örnek de hazırlayabilirim.

    Şu yapıya göre hazırladım:


    <?php
    
        $renk = $db->query('SELECT * FROM colors ORDER BY RAND() LIMIT 1')->fetch(PDO::FETCH_ASSOC);
    
        print_r($renk);
    ?>
    zaman ayırdığınız için teşekkür ederim hocam
    bu şekilde çözdüm kolaymış
    $dizi = explode (',',$alan2);
    $anahtar = rand(5,0);
    echo " <a class='yorumlar'>$dizi[$anahtar]</a>" ;
    echo " <br> ";