• 01-09-2020, 18:44:04
    #1
    Üyeliği durduruldu
    Merhaba soru cevap tarzında bi proje yapıyorum , ana sayfada sorular listeleniyor bu soruları kullanıcılar kendisi oluşturuyor, kullanıcılar sadece takip ettiği kişilerin sorularını görebiliyor. Benim burada instagram yada Facebook tarzında Sponsorlu Soru göstermem gerekiyor bi nevi reklam gibi kullanıcı sorusunu reklam olarak vericek ve kullanıcıların ana sayfasında Sponsorlu soru olarak göstereceğim tabiki sürekli aynı sponsorlu soru değil rastgele sponsorlu soru gözükcek ve bu sabit bi yerde değil soru akışında yani kullanıcı aşağı indikçe instagramdaki gibi karşısına sponsorlu soru çıkacak. Umarım anlatabilmişimdir.

    Bu istediğim şeyin kodlama mantığını çözemedim yardımcı olurmusunuz.
    Verileri foreach ile çekiyorum
  • 01-09-2020, 18:49:35
    #2
    Basit mantıkla önce kaç soruda bir sponsorlu baglantı göstereceğinize karar verin. Örn 5
    Foreach( sorular as key => soru)
    if(key 5e bölümünden kalan 0)
    Sponsorlu soru
    .
    .
    Gibi gibi birçok mantıkla yapılabilir
  • 01-09-2020, 19:07:09
    #3
    Üyeliği durduruldu
    Zeta adlı üyeden alıntı: mesajı görüntüle
    Basit mantıkla önce kaç soruda bir sponsorlu baglantı göstereceğinize karar verin. Örn 5
    Foreach( sorular as key => soru)
    if(key 5e bölümünden kalan 0)
    Sponsorlu soru
    .
    .
    Gibi gibi birçok mantıkla yapılabilir
    Hocam instagram yada Facebook tarzında gönderilerin arasına sıkıştıracağım yani çok fazla olmayacak şöyle söyliyim ilk 3.gönderi arasına ve 25. Gönderi arasına olabilir.
    Kullanıcılar sadece takip ettiği kişilerin sorularını görebiliyor.

    İf kısmını kod olarak yazabilirmisiniz 5 e bölümünden kalan 0 kısmını pek anlayamadım birde gönderinin sponsorlu olduğunu nasıl anlayacak yani if koşuluyla kaçıncı gönderide çıkıcağını belirtiyoruz peki ya gönderi sponsorlumu onu nasıl anlayacak if koşulu
  • 01-09-2020, 19:40:39
    #4
    Veritabanından çekeceğiniz verileri bir dizi içerisine alıp, sponsorlu gönderiyi de dizi içine dahil edip yazdırabilirsiniz.
  • 02-09-2020, 01:36:54
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    array_splice ile yapabilirsiniz.

    Örnek foreach yapınızın şöyle olduğunu varsayıyorum:

    foreach ( $posts as $key => $val ) {
    echo $val->content;
    }

    Şu şekilde bir işlem yapabilirsin:

    $array_count = count($posts);
    
    $sponsorlugonderi = array( "BU BIR SPONSORLU GONDERIDIR" );
    
    array_splice( $posts, rand(1,$array_count), 0, $sponsorlugonderi);
    $array_count değerine dizinizin sayısını yazdırdık. Veya şu işlemlede dizi sayısını alabilirsiniz:

    $counter = 0;
    $dizi_count = "";
    foreach ( $posts as $key => $val ) {
    echo $val->content;
    $counter++;
    $dizi_count .= $counter;
    }
    
    $array_count = $dizi_count;


    Sonrasında ise arraya ekleyeceğiniz içeriği belirliyorsunuz. Splice ile belirlediğiniz bir kısma ekliyorsunuz. Sabit olarak belirleyebilirsiniz. Döngünüzde 15 adet çıktı verdiğinizi varsayalım. 1,15 arasında farklı kısımlarda rastgele gösterecektir sponsorlu gönderinizi.

    Aklıma ilk gelen mantık ve yöntem bu oldu.
  • 02-09-2020, 02:28:08
    #6
    Soruları veri tabanından alın. Bir değişken belirleyip buna kaç tane veri çekiyorsanız Max o sayı olacak şekilde random sayı atayın ör: $random=Rand(0,veri tabanından çekilen veri sayısı); ve bir i değişkeni belirleyip 0 atayin $i = 0; gibi sonra foreach ile veri tabanından verileri tek tek yeni arrayya aktarın. Bir koşul belirleyin if($random==$i){ bu koşul gerçekleşmişse sponsorlu gönderinizi de push edin yani yeni arraya ekleyin } sonra foreach parantezinin içinde olacak şekilde $i++ yapın
    Ekrana basarken yeni arayınızı kullanın

    $random=rand(0,çekilen veri sayısı );
    $i=0;
    $yeniarray=array();
    Foreach($query as $row){
    if($random==$i){
    $yeniarray[]=$sponsorverisi;
    }
    $yeniarray[]=$row;
    $i++;
    }

    Ekrana basarken $yeniarray kullanın
  • 02-09-2020, 18:53:06
    #7
    Üyeliği durduruldu
    Hocam bir türlü halledemedim kusura bakmayın. kodlarım şu şekilde;

    Verileri çektiğim ana sayfa:

    $sistem["anasayfagonderi"] değişkenine verileri çektiğim fonksiyon bağlı
    yani $sistem["anasayfagonderi"] = anasayfa_gonderi(15);

    ana sayfada soruları çektiğim kısım:
      <div class="gonderiler-container">
      <?php if (not_empty($sistem["anasayfagonderi"])): ?>
      <div class="anasayfa-gonderiler-ls" data-an="entry-list"> 
      <?php foreach ($sistem["anasayfagonderi"] as $sistem["li"]): ?>
      <?php echo sayfa('anasayfa/gonderi_veri'); ?>
      <?php endforeach; ?>
      </div>
      <?php else: ?>
      <?php echo sayfa('anasayfa/gonderi_yok'); ?>
      <?php endif; ?>
          </div>
    sisteme otomatik load bağlı yani sayfa aşşağı indikçe ajax ile verileri yüklüyor

    @Vindicta; @msn560;
  • 03-09-2020, 23:46:56
    #8
    Üyeliği durduruldu
    Güncel