Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Veri Sıralama?

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
merhaba arkadaşlar bir makale sitesi yapıyorum şöyle bir sorunla karşılaştım kod makalenin resmini konusunu mesajınu çekiyor ama sıralarken yanyana sıralıyor benim istediğim 2 sütun olup aşağı doğru devam etmesi

Örnek

Makale 1 Makale 2
Makale 3 Makale 4
Makale 5 Makale 6
...

şeklinde

PHP:
<?php
$sorgu = mysql_query("SELECT * FROM makale ORDER BY id DESC");
while ($cek = mysql_fetch_array($sorgu)) {
$id = $cek[id];
$konu = $cek[konu];
$makale = $cek[makale];
$tarih = $cek[tarih];
echo "<TD width=9>  </TD><TD vAlign=top width=397>
                                <TABLE style='BORDER-COLLAPSE: collapse' 
                                cellPadding=0 width=272 border=0>
                                <TBODY>
                                <TR>
                                <TD width=60 height=60><A 
                                href='makale.php?id=$cek[id]'>
								<IMG 
                                height=60 src='$cek[resim]' width=60 
                                border=0></A></TD>
                                <TD width=10> </TD>
                                <TD vAlign=top width=202>
                                <TABLE style='BORDER-COLLAPSE: collapse' 
                                cellPadding=0 width='100%' border=0>
                                <TBODY>
                                <TR>
                                <TD vAlign=top height=17><B><A class=title2 
                                href='makale.php?id=$cek[id]'>$cek[konu]</A></B></TD></TR>
                                <TR>
                                <TD bgColor=#ecceec><IMG height=1 
                                src='images/1px.gif' width=1 
                                border=0></TD></TR>
                                <TR>
                                <TD height=5></TD></TR>
                                <TR>
                                <TD><A class=txt 
                                href='makale.php?id=$cek[id]'>$cek[makale] <br><A class=title2 
                                href='makale.php?id=$cek[id]'><font face='Arial' style='font-size: 8pt; font-weight:700' color='#FF1694'>Devamı...</font></A></A></TD></TR></TBODY></TABLE></TD></TR>
                                <TR>
                                <TD width=60> </TD>
                                <TD width=10> </TD>
                                <TD 
                                width=202>
								</TD></TR></TBODY></TABLE></TD>";
}

?>

kodlar bunlar istediğim şeye yardım ederseniz sevinirim

teşekkürler
 

yagmayok

1
Onaylı Üye
Üye
Katılım
25 Ocak 2005
Mesajlar
7,131
Açılan Konu
304
Tepki puanı
86
Bu tarz parçalamalar için şu tarz bir yöntem kullanabilirsiniz.
Bu eminim ki bir çok açıdan size yara sağlayacaktır. Aşağıya şuan ki veri çekiminize göre biraz düzenledim. Biraz inceleyerek bu yöntemi istediğiniz html içine giydirebilirsiniz...

Ben bu rada 3 e böldüm. Bu bölme işlemini arttırabilir ya da azaltabilirsiniz...

PHP:
<?
$sorgu = mysql_query("SELECT * FROM makale ORDER BY id DESC");
$sorguS = mysql_num_rows($sorgu);
$sayac = 0;
while($cek = mysql_fetch_array($sorgu))
 {
  $id[$sayac] = $cek["id"];
  $isim[$sayac] = $cek["isim"];
  $sayac++;
 }
$dongu1 = $sorguS / 3;
$dongu2 = $dongu1 * 2;
?>				  
				  <table width="100%"  border="0" cellspacing="0" cellpadding="3">
                    <tr>
                      <td width="33%" valign="top">
<?
for($i=0;$i<$dongu1;$i++)
 echo($isim[$i]);
?>
</td>
                      <td width="33%" valign="top">
<?
for($i=$dongu1;$i<$dongu2;$i++)
 echo($isim[$i]);
?>
</td>
                      <td width="33%" valign="top">
<?
for($i=$dongu2;$i<$sorguS;$i++)
 echo($isim[$i]);
?>
</td>
</tr>
</table>
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Bu kod daha önce 1000 kere verildi.

PHP:
$q = mysql_query("SELECT something FROM somewhere");
$i = 1;    // Sayac 1'den basla

  while ($a = mysql_fetch_array($q)) {

  $k = $i % 2;    // 2 sutun, 3-4-5 gibi degerler verilebilir.

     if ($k == "1") {    // satir basi.
     echo '<tr>';    // satir ac
     }

     echo '<td>Yaz ne yazıyorsan</td>';

     if ($k == "0") {   // satir sonu
     echo '</tr>';    // satir kapa
     }
 

     
   $i++;   // sayac yurut
   }

Bu mantiga gore 1 den baslayip sayan i, her dongu adiminda 2'ye bolunecek ve su sekli alacak.

1 0
1 0
1 0
1 0
1 0

3'e bolersen
1 2 0
1 2 0
1 2 0

4'e bolersen
1 2 3 0
1 2 3 0
1 2 3 0

1'ler satir basi, 0'lar satir sonu olarak istedigin sekilde tablo cizersin

}
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
ilgin için teşekkürler daha öncesinde böyle şeye rastlamadım o yüzden yazdım.
 
Üst