• 09-08-2009, 13:34:54
    #1
    Mehaba arkadaşlar aşağıdaki resimde gördüğünüz gibi gazete trajlarını listelemek ve satış rakamlarını karşılaştıracağım bi sayfa yaptım ama çözümünü bulamadığım birkaç sorun var.

    1 - Önceki ve Satış bölümündeki rakamlar karşılaştırıldığında fark alanına tam ( + ) veya ( - ) sayıyı vermiyor örnek göstermek gerekirse Hürriyet"in bulunduğu satırdaki fark alanına -750 olması gerekirken -075 olarak görünüyor. bunun gibi birkaçtane daha var.

    2 - Toplam kısmına ise her stunun toplamı en altındaki hücresinde toplanmasını istiyorum rica etsem yardımcı olabilirmisiniz. php kodu aşağıdadır.


    <?
    
    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>';
    ?>


    listeleme ile ilgili sorunum için tavsiyede bulunan electronicboy nickli arkadaşıma teşekkür ediyorum ama öneride bulunduğu sorunumla ilgili proble veri tabanından kaynaklanıyormuş ilgili alan text olduğu için sorun çıkartıyormuş...
  • 09-08-2009, 18:10:42
    #2
    Selamlar,

    Öneri : Öncelikle sıra numarasına göre değilde satışa göre sıralasan da aynı değil mi? Sonuç olarak satışa göre sıra numarası oluşturuyorsun. Bunun haricinde sqlde yazmış olduğun ASC gereksiz. Çünkü default değeri ASC.

    Muhtemel Sorun: mysql_fetch_assoc yerine array'i dene istersen. Bundan dolayı sorun yaşıyor olabilirsin.

    Kolay gelsin.
  • 10-08-2009, 10:25:17
    #3
    Üyeliği durduruldu
    toplamlar için arada değişken tutup elle toplayarak halledebilirsiniz
    $gecentoplam += $row_sql['gecen_hafta'];