• 13-11-2009, 20:39:15
    #1
    merhaba arkadaşlar aşağıdaki satırları döngü içerisinde yazdırmak istiyorum. yani topnews olan yerlerin 0,1,2,3 şeklinde çıktısını almak istiyorum fakat yapamadım rica etsem bi el atabilirmisiniz.

    <div class="topnews block">
    		<a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews0" title="'.$row_sql['title'].'"></div></a>
    
    	<ul class="topnewslist">
    		<li class="current" rel="topnews0">
    			<a href="news_detail.php?id='.$row_sql['id'].'">'.$row_sql['title'].'</a>
    		</li>
    	</ul>
    </div>

    Kodun olması gerek çıktısı şu şekilde...
    <div class="topnews block">
    		<a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews0" title="'.$row_sql['title'].'"></div></a>
    		<a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews1" title="'.$row_sql['title'].'"></div></a>
    		<a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews2" title="'.$row_sql['title'].'"></div></a>
    		<a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews3" title="'.$row_sql['title'].'"></div></a>
    
    <ul class="topnewslist">
    		<li class="current" rel="topnews0"><a href="news_detail.php?id='.$row_sql['id'].'">'.$row_sql['title'].'</a></li>
    		<li class="current" rel="topnews1"><a href="news_detail.php?id='.$row_sql['id'].'">'.$row_sql['title'].'</a></li>
    		<li class="current" rel="topnews2"><a href="news_detail.php?id='.$row_sql['id'].'">'.$row_sql['title'].'</a></li>
    		<li class="current" rel="topnews3"><a href="news_detail.php?id='.$row_sql['id'].'">'.$row_sql['title'].'</a></li>	
    	</ul>
    </div>
  • 13-11-2009, 22:15:59
    #2
    for döngüsünemi sokacaksınız?
  • 13-11-2009, 22:45:11
    #3
    for döngüsüne olarak 1-2-3-4 yazan yerleri misa olarak $i ile for da arttırarak döndürebilirsiniz
  • 13-11-2009, 22:50:25
    #4
    <div class="topnews block">
    		<a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews0" title="'.$row_sql['title'].'"></div></a>
    		<a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews1" title="'.$row_sql['title'].'"></div></a>
    		<a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews2" title="'.$row_sql['title'].'"></div></a>
    		<a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews3" title="'.$row_sql['title'].'"></div></a>
    
    <ul class="topnewslist">
    <?
    $a = 0;
    while ($a <= 10) {
    ?>
    		<li class="current" rel="topnews<?=$a;?>"><a href="news_detail.php?id='.$row_sql['id'].'">'.$row_sql['title'].'</a></li>
    <?
    $a++;
    }
    ?>
    	</ul>
    </div>
    Bu işini gorecektir. 10 sayısını ıstedıgın kadar arttırıp azaltabilirsin.
  • 14-11-2009, 12:01:18
    #5
    Arkadaşlar yapamadığım şey şu : örneğin bu satırı döngüyü sokuyorum
    <a href="detail.php?id='.$row_sql['id'].'" class="bigimage" id="topnews0" title="'.$row_sql['title'].'"></div></a>

    ama diğer satırı döngüye sokamıyorum her ikisini döngüye nasıl sokacam ? yada her satırı ayrı ayrımı döngüye sokmam lazım ??
  • 14-11-2009, 12:03:48
    #6
    Misafir
    $sayi = 0;
    while (..) {
    $sayi++;
    echo $sayi;
    }
  • 14-11-2009, 17:58:24
    #7
    yada şöyle söyleyeyim.
    aşağıdaki kodun neresinde hata var ki (0.) veriyi alamıyorum ?

    <?php
    include("SYSTEM_common_config.php"); 
    $sql = mysql_query("SELECT * 
    		    FROM news 
    		    WHERE news_location='1' 
    		    ORDER BY id 
    		    DESC limit 4");  
    
    $row_sql = mysql_fetch_assoc($sql);
    
    for ($i=0; $row_sql = mysql_fetch_assoc($sql); $i++)
    
    {
    echo '<li class="current" rel="topnews'.$i.'"><img src="'.$row_sql['image_small'].'" width="45" height="32"><a href="news_detail.php?id='.$row_sql['id'].'">'.$row_sql['title'].'</a><div class="right"></div></li>';
    }
    
    
    ?>
  • 14-11-2009, 23:36:28
    #8
    hangi id numarasından başlatarak alacaksın? ona $başl diyelim
    kaç tane veri alacaksın? buna da $adet diyelim (sen 4 demişsin)
    sql sorgunda limit 4 ifadesini; "limit $başl, $adet" olarak değiştir.
    örneğin "limit 10, 4"; 10 id numaralı veriden başlayarak 4 adet veri al demektir. bir de bu şekilde dene.

    for ($i=0; $row_sql = mysql_fetch_assoc($sql); $i++)
    ifadesinde orta kısmı değiştirip

    ...
    $toplam = mysql_num_rows($sql)
    // şimdi for döngüsü
    for ($i=0; $i<$toplam; $i++) {
    $row_sql = mysql_fetch_assoc($sql)
    ...
    şeklinde yap.
  • 16-11-2009, 23:35:22
    #9
    yok arkadaş beceremedim.... ve derdimi şu şekilde anlatmaya ve sizden çözüm üretmenizi rica etmeye karar verdi....

    Arkadaşlar bu benim veri tabanı bağlantım

    include("config.php");
    $cek= mysql_query("SELECT * FROM news WHERE location='1' ORDER BY id DESC limit 4");
    for döngüsüyle son eklenen veri ile birlikte toplam 4 veri cekmek istiyorum bütün derdim bu veri tabanına bağlanmadan istediğim şekilde for döngüsü oluşturabiliyorum ama iş veri tabanından çekmeye gelince işler karışıyor mahlesf... beni bu dertten kurtarırsanız sevinirim bu arada çekmek istediğim verinin adı (title)