使用其他值的总和列出一次值

时间:2017-01-07 06:56:30

标签: php mysql html-table multiple-columns

enter image description here

正如您在图像中看到的那样,我将使用以下代码列出mysql数据库中的产品:

$satis_cek = mysql_query("SELECT * FROM satislar WHERE zno = '".$zno."'");
        $varmi = mysql_num_rows($satis_cek);
                $toplam_tutar   = 0;
                $indirim        = 0;
                $genel_toplam   = 0;                    
                if($varmi == ""){
                $ara_toplam     = 0;
                $indirim_toplam = 0;
                $genel_toplamlar= 0;    
                }else{          
        while ($satis_al = mysql_fetch_array($satis_cek)){
        $sat_fatura_no  = $satis_al['sat_fatura_no'];   
        $personel       = $satis_al['sat_uye_id'];
        $sat_tarih      = $satis_al['sat_tarih'];
        $sat_tip        = $satis_al['sat_tip'];
        $toplam_tutar   += $satis_al['toplam_tutar'];
        $indirim        += $satis_al['indirim'];
        $genel_toplam   += $satis_al['genel_toplam'];

 $fis_cek = mysql_query("SELECT * FROM stok_hareketleri WHERE sth_fatura_no = '".$sat_fatura_no."'");
           while ($a= mysql_fetch_array($fis_cek)){
                $sth_stok_kodu  = $a['sth_stok_kod'];
                $sth_adet       = $a['sth_adet'];
                $sth_tutar      = $a['sth_tutar'];

 $stok_cek = mysql_query("SELECT * FROM stoklar WHERE sto_RECno = '".$sth_stok_kodu."'");
        while ($stok_al = mysql_fetch_array($stok_cek)){
        $sto_isim = $stok_al['sto_isim'];
                echo' 
                <tr>
                <td align="left">'.$sto_isim.'</a></td>
                <td align="center">'.$sth_adet.'</td>
                <td align="right">'.$sth_tutar.'</td>
            </tr>';}}}}

如图所示,我尝试列出杰克丹尼尔的一次,并计算其销售数字和销售价格总和的总和,并将其打印在onw html表格行中。

Forexample:

  

杰克丹尼尔2 220.00

     

YeniRakı70cl 1 85.00

     

芬达330毫升1 3.00

我是php的新手,所以我无法解决如何用同一个mysql表中的销售数量和价格总和来显示每个产品一次。

enter image description here

enter image description here

Product Details

2 个答案:

答案 0 :(得分:0)

请尝试以下操作:table1是产品明细表,table2是已售出商品表。

select sto_isim,sum(sth_tutar) as sum,sum(sth_adet) as cnt from table1 join table2 on table1.sto_RECno=table2.sth_stok_kod group by sto_RECno

这应该为每个产品提供单行和总数。

答案 1 :(得分:0)

$tarih2 = date("Y-m-d 00:00:00",strtotime($_POST['tarih']));
$tarih3 = date("Y-m-d 23:59:59",strtotime($_POST['tarih']));

$satis_cek = mysql_query("SELECT * FROM satislar WHERE zno = '".$zno."'");
        $varmi = mysql_num_rows($satis_cek);
                $toplam_tutar   = 0;
                $indirim        = 0;
                $genel_toplam   = 0;                    
                if($varmi == ""){
                $ara_toplam     = 0;
                $indirim_toplam = 0;
                $genel_toplamlar= 0;    
                }else{          
        while ($satis_al = mysql_fetch_array($satis_cek)){
        $sat_fatura_no  = $satis_al['sat_fatura_no'];   
        $personel       = $satis_al['sat_uye_id'];
        $sat_tarih      = $satis_al['sat_tarih'];


        $sat_tip        = $satis_al['sat_tip'];
        $toplam_tutar   += $satis_al['toplam_tutar'];
        $indirim        += $satis_al['indirim'];
        $genel_toplam   += $satis_al['genel_toplam'];}


$fis_cek = mysql_query("select sto_isim,sum(sth_tutar) as sum,sum(sth_adet) as cnt from stoklar join stok_hareketleri on stoklar.sto_RECno=stok_hareketleri.sth_stok_kod WHERE stok_hareketleri.sth_create_date >= '".$tarih2."' AND stok_hareketleri.sth_create_date <= '".$tarih3."' AND sth_tip = 'Satış Fişi' group by stoklar.sto_RECno ORDER BY sto_isim ASC");
           while ($a= mysql_fetch_array($fis_cek)){

                $sth_adet       = $a['cnt'];
                $sth_tutar      = $a['sum'];
                $sto_isim       = $a['sto_isim'];


                echo' 
                <tr>
                <td align="left">'.$sto_isim.'</a></td>
                <td align="center">'.$sth_adet.'</td>
                <td align="right">'.$sth_tutar.'</td>
            </tr>';}}

我决定使用确切的日期值,它没有任何问题。