главная -> статьи -> сетевые приложения
 
Подготовка отчетов
  Просто разберите кодовую лапшу (так часто называют PHP программисты ситуацию, когда код сценария перемешан с HTML) на предлагаемом листинге.
 
  Отчет ориентирован на использование Excell, содержит формулы, которые позволяют модифицировать на стороне клиента отчет, сохраненный в виде книги Excell.
<% @LANGUAGE=VBScript%>
<% Option Explicit %>
<% Response.Expires = -1%>
<%
Response.Buffer = TRUE
Response.ContentType = "application/vnd.ms-excel"
Dim dbConn, dbQuery, tmp, newRecset, sprRecset, kormRecset, I, k_div
	If IsObject(Session("ra_dbConn")) Then
           Set dbConn = Session("ra_dbConn")
        Else
           Call Response.Redirect("index.htm")
        End If
I = 1
%>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="_css/style.css" rel="stylesheet" type="text/css">
<body>
<center>
Рацион N<%=Session("rac_num")%> от <%=Date()%><br>
Составитель <%=Session("userName")%> <p>
</center>
<%
Set newRecset = Server.CreateObject( "ADODB.Recordset" )
dbQuery = "SELECT * FROM racion WHERE rac_id = " & Session("rac_num")
Call newRecset.Open(dbQuery, dbConn)
Set sprRecset = Server.CreateObject( "ADODB.Recordset" )
dbQuery = "SELECT * FROM anim_all WHERE id_anim = " &  newRecset("id_anim")
Call sprRecset.Open(dbQuery, dbConn)
%>
Животное: <%=sprRecset("name")%>    <%=sprRecset("param1")%> = <%=newRecset("param1")%>
   <%=sprRecset("param2")%> = <%=newRecset("param2")%>
<%
newRecset.Close()
sprRecset.Close()
%><br>
<table width="90%"  border = "1">
      <tr>
         <td width="27">   N  </td>
	 <td width="350" align="center">   Наименование  </td>
	 <td width="57">  Кол-во </td>
	 <td width="67">  Ед. изм. </td>
	 <td width="57">  Цена </td>
	 <td width="57">  Стоим. </td>
	 <td width="67">  Прим. </td>
      </tr>
<%
dbQuery = "SELECT * FROM racion_korma INNER JOIN (name_korma INNER JOIN tip_korma " & _
"ON name_korma.id_tipa =  tip_korma.id) ON racion_korma.korm_id =name_korma.id " & _
"WHERE racion_korma.rac_id = " & Session("rac_num") & " ORDER BY racion_korma.id"

Set  kormRecset = Server.CreateObject( "ADODB.Recordset" )
Call kormRecset.Open(dbQuery, dbConn)
    If Not kormRecset.BOF AND Not kormRecset.EOF  Then
	Call kormRecset.MoveFirst()
	While Not kormRecset.EOF
%>
	<tr>
	 <td width="27"><% =I%></a></td>
	 <td>  
<% =kormRecset("tip_korma.name")%>:     <% =kormRecset("name_korma.name")%>
<td align="center"><% =CInt(kormRecset("korm_kol")*100)/100%></td>
<%
k_div = 1
        If kormRecset("korm_id")>500 Then
Set sprRecset = Server.CreateObject( "ADODB.Recordset" )
dbQuery = "SELECT * FROM name_dob WHERE id = " &  kormRecset("korm_id")
Call sprRecset.Open(dbQuery, dbConn)
         tmp = sprRecset("ed_izmer")
        ' k_div = 0.001
sprRecset.Close()
         Else
         tmp = "кг."
        ' k_div = 1
         End If
'If tmp = "г." Then k_div = 1000 End If
If tmp = "мг." Then k_div = 0.001 End If
%>
	<td align="center"><% =tmp%></td>
	<td width="33">1</a></td>
	<td width="57">=(c<%=I+5%>*e<%=I+5%>)*<% =k_div%></td>
	<td width="67">   </td>
        </tr>
<%
	I=I+1
	Call kormRecset.MoveNext()
	Wend
   End If
kormRecset.Close()

%>
<tr>
<td> </td><td> </td><td> </td><td> </td>
<td align="right"><b>Итого:</b></td>
<td>=сумм(f6:f<% =5+ I-1%>)</td><td> </td>
</tr>
<tr>
<td colspan="7" align="center"> Кормление группы животных за период</td>
</tr>
<tr>
<td> </td><td> </td><td> Живот.</td><td> Дней</td>
<td></td>
<td><b>Всего</b></td><td> </td>
</tr>
<tr>
<td> </td><td> </td><td>100</td><td>30</td>
<td> </td>
<td>=(c<%=I+8%>*d<%=I+8%>)*f<% =I+5%></td><td> </td>
</tr>
</table>
<p> Примечание: цена кормов - в рублях за килограмм, а минеральных добавок в рублях за грамм.
</body>
</html>
   
  © 2007   Сединко А.М.
  © 2004 design by   kir
Hosted by uCoz