Arkadaşlar Donanım Haber forum sayfasının çalışma mantığı gibi çalışan haberler.php gibi bir sayfam var. Sayfa açıldığında verdiğim limit=6 ise örneğin son 6 kayıt istediğim gibi ekrana geliyor. En altta da veritabanında 10 kayıt varsa sayfa 1 ve 2 diye linkler gözüküyor, o da tamam. Problemim şu, sayfada son 6 kayıt alt alta sıralanıyor, ben bunları 2 sütun 2 sütun göstermek istiyorum, 6 id nolu haber yanında 5 id numaralı, altında 4-3 ve 2-1 şeklinde. hangi scriptten yararlanmalıyım?
while ile ilgili ...
örnek vereyim ...
asakidaki kodu incelersen
<?php $Q = mysql_query('SELECT * FROM `products_colors` ORDER BY `color_id` DESC;'); ?> <table cellspacing="0" cellpadding="5" border="0"> <?php $t = '0'; while ($D = mysql_fetch_array($Q)) { if ($t == '0') { echo '<tr>'; } $t++; ?> <td align="center" valign="top"> DB'den gelen veri ... </td> <? if ($t == '2') { echo '</tr>'; $t = '0'; } } ?> </table> <?php mysql_free_result($Q); ?>
burada $t degiskeni her defasında + değer kazanıyor fakat $t değişken değeri eğer 2 olursa tekrar 0 oluyor ve <tr> tagini yazdiriyor ...
Umarim işini görür ...
Hali hazırda çalışan kodum böyle, böyle bir yapıda while döngüsü kullanıyorum ama sizin gönderdiğinizi buna entegre etmeyi başaramadım. Ya da varolanı bu mantıkla değiştirmeyi.
<? $start=$_REQUEST["start"]; $limit=5; if (!$start) $start=0;
$link_query=mysql_query("select count(*) from haberler", $vtyol); list($numrec)=mysql_fetch_row($link_query); $numpage=intval($numrec/$limit); if ($numrec%$limit) { $numpage++; } $sql="select * from haberler order by id desc limit $start,$limit"; $query = mysql_query($sql,$vtyol); while($katdaber = mysql_fetch_array($query)){ $id=$katdaber["id"]; $baslik=$katdaber["baslik"]; $baslik=str_replace($srch2,$rpl2,$baslik); $aciklama=$katdaber["aciklama"]; $aciklama=str_replace($srch2,$rpl2,$aciklama); $resim=$katdaber["resim"]; $tarih=$katdaber["tarih"]; $yil=substr($tarih,0,4); $ay=substr($tarih,5,2); $gun=substr($tarih,8,2); $tarihyaz=$gun.".".$ay.".".$yil;
mantığı ise şu % (php de kalanı verir) kalan 2 ise a kolununa değil ise b kolonuna yazdırmak.
Ben bana örnek gönderilen kodun mantığını anladım da aynı anda benim hazırladığım kodla nasıl çalıştıracağımı çözemedim. 2 kodu da ayrı ayrı çalıştırın deseniz tamam ama iç içe geçmiş şekilde nasıl çalıştırıcam...
O kadarını da araştırman gerekiyor sanırım :)
Valla ben de başlığı açarken araştırma yaptığımı sanıyordum ama yanılmışım anlaşılan