|
|
|
Yazan
|
Konu: Tablo Çizdirme (Okunma Sayısı 730 defa)
|
abdullahcakir
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 11
|
Merhaba arkadaşlar, Benim sorum şu: While döngüsüyle veritabanımdan kategori isimlerini çekiyorum ve bir table a yazdırıyorum. Benim istediğim çekilen verileri 4 sütun halinde yazdırması yani 5. veriyi 1.verinin altına yazdırması. Bu konu hakkında Turk-PHP'nin arşivinde ki makaleyi okudum ama orada dizi olarak yapılmış. Benim istediğim nasıl olur bir fikir verirseniz sevinirim...
|
|
|
|
|
Logged
|
|
|
|
Witkey
Ziyaretçi
|
5. veriyi 1.verinin altına yazdırması.
Biraz acıklarmısın
|
|
|
|
|
Logged
|
|
|
|
abdullahcakir
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 11
|
Örneğin tablodan çekilen verilerin sayısı toplam 6 tane olsun.Ben tablo çıktısının aşağıdaki şekilde olmasını istiyorum.
1.Veri 2.Veri 3.Veri 4.Veri 5.Veri 6.Veri
Eğer sayaç 5 olmuşsa yeni bir <tr><td> başlatacak.Ama ben bunu while döngüsü içinde yapamadım. Yazınca sadece (yukarıdaki örnek için) 5.Veri yi yazıyor...
|
|
|
|
|
Logged
|
|
|
|
mudkicker
Arif Ender
Admin
Offline
Mesaj Sayısı: 873
Mastered PHP
|
while yerine for döngüsü ile çalışman lazım bu iş için.
arşivde bununla ilgili çoook eski bir örnek vardı diye hatırlıyorum.
|
|
|
|
|
Logged
|
|
|
|
|
Oytun Tez
|
şöyle olacak mantığı : echo "<table><tr>"; for(var i,i=0,i++) { while($result=mysq_fetch_row($sql)) { echo "<td>$result[1]</td>"; } if(i==5) { echo "</tr><tr>" } }
kodlamada yanlışlıklar olabiir..for döngüsünde faan.. ama mantığı bu.. ilk önce table ı açıyorsun.sonra satırını.dbden verileri döngüyeçekiyorsun..sütun sütun.her döngüde i yi 1 artırıyorsun.ve her döngüdede i yi kontolediyosun.eğer 5 ve 5in katları iseşuanki satırı kapatyeni satır aç diyorsun..
|
|
|
|
|
Logged
|
|
|
|
mudkicker
Arif Ender
Admin
Offline
Mesaj Sayısı: 873
Mastered PHP
|
var i ne ya?  $i olmasın o..
|
|
|
|
|
Logged
|
|
|
|
|
|
msa
PHP Öğrencisi
Offline
Mesaj Sayısı: 133
|
Şu şekilde de olabilir. Biraz uzun ama.  echo "<table> <tr> <td>Alan 1</td> <td>Alan 2</td> <td>Alan 3</td> <td>Alan 4</td> </tr><tr> <td>Alan 5</td> <td>Alan 6</td> <td></td> <td></td> </tr>"; while ($result = mysql_fetch_array($sql)) { echo "<tr><td>". $result['alan1'] ."</td> <td>". $result['alan2'] ."</td> <td>". $result['alan3'] ."</td> <td>". $result['alan4'] ."</td></tr> <tr><td>". $result['alan5'] ."</td> <td>". $result['alan6'] ."</td> <td></td> <td></td></tr>"; } echo "</table>";
|
|
|
|
|
Logged
|
|
|
|
abdullahcakir
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 11
|
Sağolun arkadaşlar... Ben dün bir arkadaşın yardımıyla çözdüm... Çözüm:<table width="100%"> <?php $i = 0; $k = 0; while($array = mysql_fetch_array($query)) { $k++; if($i == 0 ) { ?><tr><? $i = 1; } ?> <td> <? echo $array["bilgi"]; ?> </td> <? if($k == 4) { $i=0; $k = 0; } ?> <? if($i == 0) { ?> </tr> <? } ?> <? } ?> </table>
|
|
|
|
« Son Düzenleme: 21, 2005, 08:27:23 am Gönderen: mudkicker »
|
Logged
|
|
|
|
kral_barmen
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 2
|
Çok Sağol Arkadaşım Ben Bu İşte Daha Yeniyim Sayende Uzun Zamandır Uğraşıp Çözemediğim Olayı Çözdüm Tekrar Teşekkür Ederim.
|
|
|
|
|
Logged
|
|
|
|
|
pinar_m
|
$output=''; $data_arr = array();
$result = mysql_query ("SELECT * FROM table"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $data_arr[] = $row["adi"].' '.$row["soyadi"].' '.$row["mail"]; } $output .='<table align="left" border="2"><tr>'; foreach ($data_arr as $key => $val) { $output .= '<td>'.$val.'</td>'; if(($key%4==3)) { $output .= '</tr> <tr>'; } } $output .='</table>'; echo $output;
böyle de olur.
|
|
|
|
|
Logged
|
başarının anahtarı beyinde şakak zorlamadan geçer.başlangıç çizgisinden geçmeyen hile yaptığını anlar ve finişe varamadan geri döner.
|
|
|
|
 |
|