Welcome, Guest. Please login or register.
Did you miss your activation email?
July 09, 2008, 06:15:38 am
42749 Posts in 8091 Topics by 17932 Members
Latest Member: codder
Turk-Php.Com Forum  |  Yardım Forumları  |  PHP Yardım Forumu  |  Tablo Çizdirme « previous next »
Pages: [1] Print
Author Topic: Tablo Çizdirme  (Read 707 times)
abdullahcakir
Yeni Kullanıcılar
*
Offline Offline

Posts: 11


View Profile
Tablo Çizdirme
« on: December 20, 2005, 07:58:38 am »

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
Guest


Email
Ynt: Tablo Çizdirme
« Reply #1 on: December 20, 2005, 07:59:51 am »

5. veriyi 1.verinin altına yazdırması.

Biraz acıklarmısın
Logged
abdullahcakir
Yeni Kullanıcılar
*
Offline Offline

Posts: 11


View Profile
Ynt: Tablo Çizdirme
« Reply #2 on: December 20, 2005, 08:04:12 am »

Ö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 Offline

Posts: 873

Mastered PHP


View Profile WWW
Ynt: Tablo Çizdirme
« Reply #3 on: December 20, 2005, 11:11:29 am »

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
Oytun Tez
PHP Memuru
***
Offline Offline

Posts: 452



View Profile
Ynt: Tablo Çizdirme
« Reply #4 on: December 20, 2005, 11:39:40 am »

şöyle olacak mantığı :
Code:
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 Offline

Posts: 873

Mastered PHP


View Profile WWW
Ynt: Tablo Çizdirme
« Reply #5 on: December 20, 2005, 12:02:19 pm »

var i ne ya?
Cheesy

$i olmasın o..
Logged

Oytun Tez
Oytun Tez
PHP Memuru
***
Offline Offline

Posts: 452



View Profile
Ynt: Tablo Çizdirme
« Reply #6 on: December 20, 2005, 12:25:58 pm »

 Grin
jsp ye gitti herhalde aklım  Grin
Logged
msa
PHP Öğrencisi
*
Offline Offline

Posts: 133


View Profile
Ynt: Tablo Çizdirme
« Reply #7 on: December 20, 2005, 12:31:39 pm »

Şu şekilde de olabilir. Biraz uzun ama. Wink
Code:
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 Offline

Posts: 11


View Profile
Ynt: Tablo Çizdirme
« Reply #8 on: December 21, 2005, 06:13:37 am »

Sağolun arkadaşlar...
Ben dün bir arkadaşın yardımıyla çözdüm...
Çözüm:
Code:
<table width="100%">
 <?php
$i 
0;
$k 0
while(
$array mysql_fetch_array($query)) {
   
$k++; 
  if(
$i == ) {
      
?>
<tr><? $i = 1;
  }
?>
<td> <? echo $array["bilgi"]; ?> </td>
<? if($k == 4) {  $i=0; $k = 0; } ?>
<? if($i == 0) { ?>
</tr>
<? } ?>
<?
}
?>
</table>
« Last Edit: December 21, 2005, 08:27:23 am by mudkicker » Logged
kral_barmen
Yeni Kullanıcılar
*
Offline Offline

Posts: 2


View Profile
Ynt: Tablo Çizdirme
« Reply #9 on: January 18, 2008, 04:50:10 am »

Ç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
PHP Memuru
***
Offline Offline

Posts: 659


phplife


View Profile
Ynt: Tablo Çizdirme
« Reply #10 on: January 18, 2008, 04:58:58 am »

Code:

$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.
Pages: [1] Print 
« previous next »
Jump to: