• 30-09-2013, 17:33:10
    #1
    Arkadaşlar alttaki kodla 15 metini random olarak gösterebiliyorum ama sorunum şu bu veriler tekrara düşebiliyor yani 15 ayrı metin var sayfayı her yenilediğimde ayrı bir metin gösteriyor ama örneğin 8 i 2 defa verebiliyor ben istiyorum ki en az 10 taneyi tamamen ayrı metinleri göstersin yani 8 i gösterdimi birdaha en az 10 farklı metinden sonra tekrar ona gelsin umarım anlatabilmişimdir yardımcı olursanız çok hora geçer

    <?php $rasgele = mt_rand(0,10);
    $metinler = array(
    0 => "metin1",
    1 => "metin2",
    2 => "metin3",
    3 => "metin4",
    4 => "metin5",
    5 => "metin6",
    6 => "metin7",
    7 => "metin8",
    8 => "metin9",
    9 => "metin10",
    10 => "metin11",
    11 => "metin12",
    12 => "metin13",
    13 => "metin14",
    14 => "metin15",
    );
    echo $metinler[$rasgele]; ?>
  • 30-09-2013, 17:49:03
    #2
    son gelen değeri oturumda tut, $_SESSION["n"]<>RasgeleSayi ise tekrar üret. Bu sadece son gelenin tekrar gelmesini önler.
  • 30-09-2013, 18:01:02
    #3
    zinan adlı üyeden alıntı: mesajı görüntüle
    son gelen değeri oturumda tut, $_SESSION["n"]<>RasgeleSayi ise tekrar üret. Bu sadece son gelenin tekrar gelmesini önler.

    ama bana tam olarak lazım olan gelen metnin bir daha en az 10 sayfa yenilemede gelmemesi bunu nasıl yaparım zahmet olmazsa bu kodun üstünde düzenlemeyi yapıp verebilirmisin çok hora geçer

    <?php $rasgele = mt_rand(0,10);
    $metinler = array(
    0 => "metin1",
    1 => "metin2",
    2 => "metin3",
    3 => "metin4",
    4 => "metin5",
    5 => "metin6",
    6 => "metin7",
    7 => "metin8",
    8 => "metin9",
    9 => "metin10",
    10 => "metin11",
    11 => "metin12",
    12 => "metin13",
    13 => "metin14",
    14 => "metin15",
    );
    echo $metinler[$rasgele]; ?>
  • 30-09-2013, 19:24:56
    #4
    Her gösterilen veriyi sessiona atıp tek tek kontrol ettirerek yapabilirsiniz ama hit yüksekse zorlar.
  • 30-09-2013, 19:28:42
    #5
    <?php

    $sayilar[]="";

    $i=0;

    $kac_sayi_uretilecek=6;

    while($i<$kac_sayi_uretilecek)

    {

    $rastgele=rand(1,49); // 1 ile 49 arası sayi uretiyoruz

    if (in_array($rastgele,$sayilar)) // uretilen sayi dizide varmi?

    {continue;} // varsa döngüye devam

    else //yoksa

    {$sayilar[]=$rastgele; //rastgele sayiyi sayilar diznine atiyoruz

    $i++;

    }

    }

    foreach ($sayilar as $sayilar_ekrana) //bu yapı dizinin tüm elemanlarını gösterir.

    echo $sayilar_ekrana."<br>";

    ?>


    bu kod sayı üretebiliyor tekrara düşmeden aynısını metin için yapamam mı veya sayılara değer atayamazmıyım
  • 01-10-2013, 16:44:52
    #6
    güncel