my query to mysql failed (long respond)

Discussion in 'PHP' started by opahkamal, Dec 10, 2010.

  1. #1
    hi all,
    i have some query like below, but when this query executed i get long respond, it takes about 1 minute for 25 data only. i think this script not working properly.

    
    $tampil = "SELECT Tanggal_Bayar_SPP,SUM(SPP),";
    		$tampil = $tampil."SUM(Infaq),"; 
    		$tampil = $tampil."SUM(Labor),";
    		$tampil = $tampil."SUM(Catering),";
    		$tampil = $tampil."SUM(Antar_Jemput),";
    		$tampil = $tampil."SUM(Buku_Paket) ";
    		$tampil = $tampil."FROM view_rekap_spp_sdit where Bulan_Bayar = '$bulan' and Tahun_Bayar = '$tahun' and Flag = 'Aktif'";
    		$tampil = $tampil." GROUP BY Tanggal_Bayar_SPP asc";
    				  	
    		
    		$hasil	= mysql_query($tampil) or die(mysql_error(""));
    		
    		//echo $data["SUM(SPP)"];
    		
    		while ($data = mysql_fetch_array($hasil))
    		{
    			
    				$total_item			= $data["SUM(SPP)"] + $data["SUM(Labor)"] + $data["SUM(Infaq)"] + $data["SUM(Catering)"] + 
    									  $data["SUM(Antar_Jemput)"] + $data["SUM(Buku_Paket)"];
    			
    				$total_spp			= ($total_spp + $data["SUM(SPP)"]);
    				$total_labkom		= ($total_labkom + $data["SUM(Labor)"]);
    				$total_infaq		= ($total_infaq + $data["SUM(Infaq)"]);
    				$total_catering		= ($total_catering + $data["SUM(Catering)"]);
    				$total_antarJmp		= ($total_antarJmp + $data["SUM(Antar_Jemput)"]);
    				$total_bukPaket		= ($total_bukPaket + $data["SUM(Buku_Paket)"]);
    				
    					
    				echo 	"<tr>
    
    							<td align='center' height='20'>$no</td>
    							<td align='center'>".$data["Tanggal_Bayar_SPP"]."</td>
    							<td align='right'>".number_format($data['SUM(SPP)'],0,'','.')."&nbsp;&nbsp;</td>
    							<td align='right'>".number_format($data['SUM(Labor)'],0,'','.')."&nbsp;&nbsp;</td>
    							<td align='right'>".number_format($data['SUM(Infaq)'],0,'','.')."&nbsp;&nbsp;</td>
    							<td align='right'>".number_format($data['SUM(Catering)'],0,'','.')."&nbsp;&nbsp;</td>
    							<td align='right'>".number_format($data['SUM(Antar_Jemput)'],0,'','.')."&nbsp;&nbsp;</td>
    							<td align='right'>".number_format($data['SUM(Buku_Paket)'],0,'','.')."&nbsp;&nbsp;</td>
    							<td align='right'>".number_format($total_item,0,'','.')."&nbsp;&nbsp;</td>
    						</tr>";
    				$no++;
    			
    					
    		}
    
    PHP:
    is there something wrong with this script above, because i run it on my localhost. but it takes a long time to get the result in my echo.

    please show me the problem, if it's necessary give me a better another script, so i can solve this problem
     
    opahkamal, Dec 10, 2010 IP
  2. shofstetter

    shofstetter Well-Known Member

    Messages:
    178
    Likes Received:
    7
    Best Answers:
    1
    Trophy Points:
    120
    #2
    shofstetter, Dec 12, 2010 IP
  3. bartolay13

    bartolay13 Active Member

    Messages:
    735
    Likes Received:
    14
    Best Answers:
    1
    Trophy Points:
    98
    #3
    so many causes for this, first check the fields that you apply the SUM() function, make sure its int
     
    bartolay13, Dec 12, 2010 IP
  4. tvoodoo

    tvoodoo Active Member

    Messages:
    239
    Likes Received:
    9
    Best Answers:
    0
    Trophy Points:
    53
    #4
    Tell me how it goes :
    
    <?php
        $result = mysql_query("SELECT Tanggal_Bayar_SPP as tbs,SUM(SPP), as spp,SUM(Infaq) as infaq,SUM(Labor) as labor,SUM(Catering) as catering,SUM(Antar_Jemput) as antar,SUM(Buku_Paket) as buku FROM view_rekap_spp_sdit WHERE Bulan_Bayar = '".$bulan."' AND Tahun_Bayar = '".$tahun."' and Flag = 'Aktif' GROUP BY Tanggal_Bayar_SPP ASC") or die(mysql_error());
        $no = 1;
        
        $total_spp = $total_labkom = $total_infaq = $total_catering = $total_antarJmp = $total_bukPaket = 0;
        while($row = mysql_fetch_array($result))
        {
            $total_item = $row["spp"] + $row["labor"] + $row["infaq"] + $row["catering"] + $row["antar"] + $row["buku"];
                
            $total_spp += $row["spp"];
            $total_labkom += $row["labor"];
            $total_infaq += $row["infaq"];
            $total_catering += ($row["catering"];
            $total_antarJmp += $row["antar"];
            $total_bukPaket += $row["buku"];
            
            echo '  <tr>
                        <td align="center" height="20">'.$no.'</td>
                        <td align="center">'.$row["Tanggal_Bayar_SPP"].'</td>
                        <td align="right">'.number_format($row['spp'],0,'','.').'&nbsp;&nbsp;</td>
                        <td align="right">'.number_format($row['labor'],0,'','.').'&nbsp;&nbsp;</td>
                        <td align="right">'.number_format($row['infaq'],0,'','.').'&nbsp;&nbsp;</td>
                        <td align="right">'.number_format($row['catering'],0,'','.').'&nbsp;&nbsp;</td>
                        <td align="right">'.number_format($row['antar'],0,'','.').'&nbsp;&nbsp;</td>
                        <td align="right">'.number_format($row['buku'],0,'','.').'&nbsp;&nbsp;</td>
                        <td align="right">'.number_format($total_item,0,'','.').'&nbsp;&nbsp;</td>
                    </tr>';
            $no++;
        }
    ?>
    
    PHP:
     
    tvoodoo, Dec 13, 2010 IP