Hocam çok teşekkürler işte budur diyorum Tek sorguya indirdik sayende. İnan hiç düşünmemiştim ufkumu açtın sağol. Ayrıca sizin verdiğiniz kodda çok güzel fakat ürünler tek tek geliyor Sizin kodda tek foreach ile iş bitiyor ama tek tek geliyor.

yani

<div class="item active">

4 adet ürün gelmesi gerek buraya tek ürün geliyor.

<div>

MesutEyrice adlı üyeden alıntı: mesajı görüntüle
Merhaba,

En başta zaten kayıtları çekip array a atıyorsun aşağıda da array i bir daha kullanabilirsin. Bu yüzden ilk arrayda db den gelen bütün kayıtları eklettirdim.

Tek sorguda işini çözecektir yazdığına göre ..
<?php 
			  $uruncek = mysql_query("SELECT * FROM urunler WHERE urunsira=1 ORDER BY urunid ASC")or die(mysql_error());
			  while($mm = mysql_fetch_array($uruncek)){ 
				 
				 $yenidizi[] = $mm;
				 
				  
			  }
			 
			 $dizi = array_chunk($yenidizi,4,true);
			 
			 
			 
			 for($a=0;$a < count($dizi); $a++){
				 
				// echo $dizi[$a].'<br>';
				if($a == 0){
					
					echo '<div class="item active">
			  <ul class="thumbnails">';
					
				}else{
					
					echo '<div class="item">
			  <ul class="thumbnails">';
					
				}

				foreach($dizi[$a] as $cek){
					
				//$id = $dizi[$a][$b];
				
				
					
				  $urunadi = $cek['urunadi'];
				  $urunseo = $cek['urunseo'];
				  $urunfiyat = $cek['urunfiyat'];
				  $urunresim = $cek['urunresim'];
					
					echo '<li class="span3">
				  <div class="thumbnail">
				  <i class="tag"></i>
					<a href="'.$urunseo.'"><img src="resim/thum/'.$urunresim.'" alt=""></a>
					<div class="caption">
					  <h5>'.substr($urunadi,0,35).'</h5>
					  <h4><a class="btn" href="'.$urunseo.'">İNCELE</a> <span class="pull-right">'.$urunfiyat.'.00TL</span></h4>
					</div>
				  </div>
				</li>';

				}
				  echo '</ul>
			  </div>';
			 }
Şahsen bana sorsan ne yaparsın diye kodum aşağıda.

$uruncek = mysql_query("SELECT * FROM urunler WHERE urunsira=1 ORDER BY urunid ASC")or die(mysql_error());
while($mm = mysql_fetch_array($uruncek)){ 
    $records[] = $mm;
}

$count = count($records);
$i=0;
foreach($records as $key => $cek) {
    if($i==0) {
    echo '<div class="item '.(($key==0) ? 'active':'').'">
        <ul class="thumbnails">';
    }
        $urunadi = $cek['urunadi'];
        $urunseo = $cek['urunseo'];
        $urunfiyat = $cek['urunfiyat'];
        $urunresim = $cek['urunresim'];
        echo '<li class="span3">
          <div class="thumbnail">
          <i class="tag"></i>
            <a href="'.$urunseo.'"><img src="resim/thum/'.$urunresim.'" alt=""></a>
            <div class="caption">
              <h5>'.substr($urunadi,0,35).'</h5>
              <h4><a class="btn" href="'.$urunseo.'">İNCELE</a> <span class="pull-right">'.$urunfiyat.'.00TL</span></h4>
            </div>
          </div>
        </li>';
        if($i%4==0 || $i==$count)
        {
            echo '</ul></div>';
            $i=0;
            $count -= 4;
        } else $i++;
}
İlk soru neden array a alıp aşağıda foreach e soktun direkt while ın içinde de bu işlemi yapabilirsin olabilir.
Çok basit kayıt sayılarını almam için yukarıda mysql_numrows çekmem gerekirdi buda ekstradan bir sorgu demektir. Hatta bazı kaynaklarda numrows u kullanmayın bile diyenler var. Bu yüzden kayıt sayısını array in count build-in fonksiyonunu kullanarak almayı tercih ettim. ve foreach le arrayimdeki kayıtları döndürdüm.

Active class ı bir kere yazılacağından kısaltılmış if scope u ilede key i sıfırsa yaz dedim çünkü arrayin keyi bir daha hiç sıfır gelmez.

Diğer if scope'larım da zaten 4 erli yazdırması için geçerli if lerdir.

Umarım açıklayıcı olmuştur.

Saygılar