for döngüsünde if kullanma

merhaba arkadaşlar,
sitemde bazı değişiklikler yapıyorum for ile yazıları saydırıp aynı yazıların sayfada tekrar tekrar yayınlanmasını engellemeye çalıyorum.

Sorunum şu :
benim kullandığım yöntemde 9 tane yazı kutusu sıralandıktan sonra altına başlıklar veriyor, yani yazı olsada 9 kutu gösteriyor olmasa da.


benim yapmak istediğim ise:
yazılar var ise kutu içinde 9 tane 3 erli olarak alt alta dizsin yoksa boş yazı kutusu gösterilmesin ama nasıl yapacağımı çözemiyorum yardımcı olursanız sevinirim.

kod:

 <?    for($j=0; $j<9; $j++){
// Seo linkimizi oluşturalım
$news_url_seo ="news-" .$news[$j][id]."-".seo($news[$j][title]).".html";
      ?>
                            <div class="news_box<?=$class?>">
                            <a href="<?=$news_url_seo;?>">
                                <div class="title"><?=stripslashes($news[$j][title])?></div>
                                <div class="image"><img src="images/news/<?=$news[$j][image]?>" width="90" height="70" /></div>
                                <div class="spot"><?=stripslashes($news[$j][spot])?></div>
                            </a>
                            </div>
                    
                    
                            <?php
                            }
                            ?>

şu anki görünüm:

  • Etiketler;

selamlar,

php bilmiyorum ama for döngüsünde "9" yerine başlık sayısı değişkeni getirmen lazım. 9 dan fazla olmasını istemiyorsan da  

if (basliksayisi > 9)  basliksayisi = 9;

dersin 9 dan daha fazla olmaz. Ancak dediğim gibi "9" yerine başlık sayısı değişkenini koyman gerekir. 

yada verileri çektiğin sorgunu

select top 9 * from TabloAdi

şeklinde yaparsın.

üstte yazdığınız kodun for'un içine 

<? for($j=0; $j<9; $j++){ // Seo linkimizi oluşturalım $news_url_seo ="news-" .$news[$j][id]."-".seo($news[$j][title]).".html"; 

if(isset($news[$j][spot])){ ?>

<div class="news_box<?=$class?>"> <a href="<?=$news_url_seo;?>"> <div class="title"><?=stripslashes($news[$j][title])?></div> <div class="image"><img src="images/news/<?=$news[$j][image]?>" width="90" height="70" /></div> <div class="spot"><?=stripslashes($news[$j][spot])?></div> </a> </div>

<?php

}else{}

} ?>

yazı yoksa eyer else çalışacak yani hiç birşey yazmıyacak mesala 5 tane varsa if  sonra else ye geçiş yaptığında ekranda sadece 5 tane yazmış olacak

isset içinde değer olup olmadığını kontrol ediyor boş ise false dolu ise true döner

saygılar ve iyi çalışmalar dilerim

if(!empty($news[$j][id])){
<div class="news_box<?=$class?>"> <a href="<?=$news_url_seo;?>"> <div class="title"><?=stripslashes($news[$j][title])?></div> <div class="image"><img src="images/news/<?=$news[$j][image]?>" width="90" height="70" /></div> <div class="spot"><?=stripslashes($news[$j][spot])?></div> </a> </div>
 <?php } ?>

bu şekilde kullandım çalışıyor, sorun olurmu arkadaşlar ?

yöntem doğrumu ?

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git