• 23-08-2009, 12:58:17
    #1
    merhaba arkadaşlar biraz araştırdım ama aradığım bilgiyibulamadığım için konu açmaya karar verdim konu yanlış yere açıldıysa şimdiden özür...


    php ile veritabanından verilerimi çekip istediğim gibi yazdırıyorum ama aşağıdaki resimdeki gibi ne yaptıysam yazdıramadım ( satır renklerinin farklı olmasını istiyorum )





    örnek verecek olursak aşağıdaki koda uygulamak istiyorum bilgi sahibi olan arkadaşlar yardımcı olursa sevinirim.




    <? 
    
    include("config.php"); 
    $sql = mysql_query("SELECT * FROM traj ORDER BY s_no ASC", $baglanti) or die("Sorgu hatasi olustu !"); 
    $row_sql = mysql_fetch_assoc($sql); 
    
    
    echo '    <table border="1" width="500" cellspacing="0" cellpadding="0"><tr> 
            <td colspan="6" bgcolor="#2F5376" align="center" height="34"> 
            <b><font face="Arial" color="#FFFFFF" size="2">'.$row_sql['aohafta'].'&nbsp;&nbsp; Tarihleri arasında gazete satış raporu.</font></b></td> 
            </tr> 
            <tr> 
            <td bgcolor="#DEE3E7" width="6%" align="center" height="28"><b><font face="Tahoma" size="2">S.No</font></b></td> 
            <td bgcolor="#DEE3E7" width="139" align="center" height="28"><b><font face="Tahoma" size="2">Gazete  
            Adı</font></b></td> 
            <td bgcolor="#DEE3E7" width="78" align="center" height="28"><b><font face="Tahoma" size="2">Önceki</font></b></td> 
            <td bgcolor="#DEE3E7" width="99" align="center" height="28"><b><font face="Tahoma" size="2">Satış</font></b></td> 
            <td bgcolor="#DEE3E7" width="42" align="center" height="28"><b><font face="Tahoma" size="2">Durum</font></b></td> 
            <td bgcolor="#DEE3E7" width="39" align="center" height="28"><b><font face="Tahoma" size="2">Fark</font></b></td> 
            </tr>'; 
             
    do { 
    
    $gecenhafta  = $row_sql['gecen_hafta']; 
    $buhafta     = $row_sql['bu_hafta']; 
    $fark = $buhafta - $gecenhafta; 
    
    
    echo '<tr> 
            <td width="37" align="center" bgcolor="#EEEEEE">'.$row_sql['s_no'].'</td> 
            <td width="139">&nbsp;&nbsp;'.$row_sql['gazete_adi'].'</td> 
            <td width="78" align="center">'.$row_sql['gecen_hafta'].'</td> 
            <td width="99" align="center">'.$row_sql['bu_hafta'].'</td>'; 
    
    if($buhafta > $gecenhafta) 
    { 
    echo '<td width="42"><center><img border="0" src="images/ok_yukari.gif" width="7" height="14"></center></td>'; 
    } 
    else 
    { 
    echo '<td width="39"><center><img border="0" src="images/ok_asagi.gif" width="7" height="14"></center></td>'; 
    } 
             
    echo'<td width="73" align="center">'.$fark.'</td></tr>'; 
    }  
    while($row_sql = mysql_fetch_assoc($sql)); 
         
    echo '<tr> 
            <td width="176" align="center" bgcolor="#EEEEEE" colspan="2"><b><font face="Tahoma" size="2">TOPLAM</font></b></td> 
            <td width="78" align="center">?</td> 
            <td width="99" align="center">?</td> 
            <td width="154" colspan="3" align="center">?</td></tr></table>'; 
    ?>
    Yukarıdaki PHP kodun çıktısı
  • 23-08-2009, 13:12:11
    #2
    $renk isminde bir değişken oluştur. Dizinin yazdırılan elemanının 2'ye bölünüp bölünmediğini kontrol et. Bölünüyorsa #EFEFEF, bölünmüyorsa #CCCCCC şeklinde renk kodlarını $renk değişkenine at ve html kodlarında bgcolor yerinede $renk değişkenini yazdır.

    ÖRN :
    if ($i % 2 == 0) // Eğer çift sayıysa
    {
    $renk = "#EFEFEF";
    }
    else
    {
    $renk = "#CCCCCC";
    }
  • 23-08-2009, 15:46:55
    #3
    Dizinin yazdırılan elemanının 2'ye bölünüp bölünmediğini kontrol et.

    Üstad burada ne demek istediğini anlayamadım
  • 23-08-2009, 16:01:10
    #4
    Ben direk sizin kodlarınıza eklersem siz bişey öğrenemezsiniz.

    While döngüsünden önce $i değişkeninin değerini 0 olarak tanımlayın. Aşağıda ki kodları while döngüsü içine yazın.

    if ($i % 2 == 0) // Eğer çift sayıysa
    {
    $renk = "#EFEFEF";
    $i++;
    }
    else
    {
    $renk = "#CCCCCC";
    $i++;
    }
    <td bgcolor="#DEE3E7" ...

    Bu kodlarıda

    <td bgcolor="'.$renk.'" ...

    şeklinde düzenleyin. Ben kısaca olayın mantığını anlatıyorum size kodlarınıza uygulamak size kalıyor.
  • 25-08-2009, 10:58:46
    #5
    mahlesef ne yaptıysam istediğim sonucu alamadım
  • 25-08-2009, 13:54:40
    #6
    bir değişken uygulayacaksınız, o değişken ekrana yazılan her satırda bir artacak,
    yani $i = 0; şeklinde başlatırsınız while içine $i++; eklersiniz artar..

    daha sonra while içinde

    if ($i%2 == 0)

    şeklinde i nin 2 ye bölümünden kalan 0 sıfır mı diye bakıyorsunuz, bu da tek mi çift mi demek zaten.

    sonra

    if ($i%2 == 0)
    {$bg = '#000000';} else {$bg = '#FFFFFF';}

    yaparsınız.

    Böylece örneğin 6. satırda sayının 2 ye bölümünden kalan sıfır olacağından if betiği çalışacak ve $bg değişken değeri '#000000' olacaktır.
    tek sayılarda da '#FFFFFF'..

    tabloda satır backgroundunu da $bg olarak atarsanız istediğiniz olur.


    umarım anlatabilmişimdir
  • 29-08-2009, 17:58:45
    #7
    arkadaşlar ikinizinde söylediklerini yapmaya çalıştım ama 2 renk almayı birtarlü yapamadım aşağıdaki koda bakabilirmisiniz nerede yanlışlık yapmışım ?

    <?
    include("../config.php");
    
    if ($i % 2 == 0)
    { 
    $renk = "#EFEFEF"; 
    $i++; 
    } 
    else 
    { 
    $renk = "#CCCCCC"; 
    $i++; 
    } 
    
    $sql = mysql_query("SELECT * FROM traj ORDER BY s_no", $baglanti) or die("Sorgu hatasi olustu !");
    $row_sql = mysql_fetch_assoc($sql);
    
    do {
    echo '<table border="0" width="100%" id="table"><tr><td bgcolor="'.$renk.'">'.$row_sql['gazete_adi'].'</td></tr></table>';
    
    } while($row_sql = mysql_fetch_assoc($sql));
    ?>
  • 29-08-2009, 18:18:12
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    <?
    include("../config.php");
    $sql = mysql_query("SELECT * FROM traj ORDER BY s_no", $baglanti) or die("Sorgu hatasi olustu !");
    echo '
    <table border="0" width="100%" id="table">';
    $i = 1;
    while($row_sql = mysql_fetch_array($sql))
    {
    if ($i % 2 == 0) { $renk = "#EFEFEF"; }
    else { $renk = "#CCCCCC"; }
    echo '
      <tr>
        <td bgcolor="'.$renk.'">'.$row_sql['gazete_adi'].'</td>
      </tr>';
    $i++;
    }
    echo '
    </table>';
    ?>
    Deneme Fırsatım olmadı ama bi deneye bilir misiniz ? İnş doğru yazmışımdır.
  • 29-08-2009, 20:15:59
    #9
    <? 
    include("../config.php"); 
    
    $sql = mysql_query("SELECT * FROM traj ORDER BY s_no", $baglanti) or die("Sorgu hatasi olustu !"); 
    
    $i = 0;
    
    while ($row_sql = mysql_fetch_assoc($sql)) {
    if ($i % 2 == 0) { $renk = "#EFEFEF";  } else {  $renk = "#CCCCCC";  }
    echo '<table border="0" width="100%" id="table"><tr><td bgcolor="'.$renk.'">'.$row_sql['gazete_adi'].'</td></tr></table>'; 
    $i++;
    }
    
    ?>

    böyle çalışması lazım