Resumen de un pedido

El siguiente código es una sección que muestra el resumen de un pedido:

<eBD:QUERY NAME="query_carrito" DATASOURCE="principal">
SELECT * FROM carrito_procesados WHERE usuario = '#usuario'
</eBDQUERY>

<eBD:IF EXPR="&query_carrito > 0">

<table border="0" cellpadding="0" cellspacing="0" width="590">
<tr>
<td align="left" height="21" NOWRAP><span class="titulo">Confirmar pedido</span></td>
<td width="99%" class="linia" align="left"><img src="void.gif" width="1" height="1" border="0" alt=""></td>
</tr>
</table>

<table class="ter" width="100%" border="0">
<tr>
<td class="labels">Unidades</td>
<td class="labels">Referencia</td>
<td class="labels">Producto</td>
<td class="labels">Fabricante<td >
<td class="precio">Precio</td>
</tr>
<eBD:FOREACH QUERY="query_carrito" START="0">
<eBD:FETCHROW NAME="item" QUERY="query_carrito"/>
<tr> &nbsp;</tr>
<tr>
<td class="datos"><eBD:OUT VALUE="&item.cantidad"/></td>
<td class="datos"><eBD:OUT VALUE="&item.referencia"/></td>
<td class="datos" style="font-weight: bold">
<eBD:OUT VALUE="&item.articulo"/></td>
<td class="datos" style="font-weight: bold">
<eBD:OUT VALUE="&item.fabricante"/></td>
<td class="precio" style="font-weight: bold; color: gray">
<eBD:OUT VALUE="&item.precio"/>&nbsp;€</td>

<eBD:SET VAR="total_prod" EXPR="&item.quantitat*&item.precio"/>
<eBD:SET VAR="total" EXPR="$total+$total_prod"/>
</tr>
</eBDFOREACH>
<tr style="border-bottom: 1px solid blue">
<eBD:SET VAR="total_iva" EXPR="$total*1.16"/>
<td class="cc" style="color: #209ddd; line-height: 12pt" colspan="6">
Subtotal
Total con IVA
</td>
<td class="precio" style="line-height: 12pt">
<b><eBD:OUT VALUE="$total"/>&nbsp;€</b>
<b><eBD:OUT VALUE="$total_iva"/>&nbsp;€</b>
</td>
</tr>
</table>

En la parte superior podemos ver una consulta llamada query_carrito a la base de datos principal. En esta consulta seleccionamos aquellos registros de la tabla carrito_procesados cuyo campo usuario sea igual a #usuario (función interna de eBD que indica el usuario que se ha logueado).

A continuación tenemos una instrucción if. Continuaremos ejecutando el código secuencialmente sólo si la consulta query_carrito devuelve algún registro.

Después definimos una tabla (podemos usar estilos), en el primer tenemos los nombres de los campos. La siguiente instrucción es un FOREACH (equivalente a la instrucción FOR de C) sobre la consulta hecha anteriormente, el número de iteraciones es igual al número de registros devueltos por la consulta. Con FETCHROW damos un nombre (ítem) al registro obtenido, démonos cuenta que para cada iteración este valor será diferente.

En las siguientes instrucciones listamos ciertos campos de la tabla carrito_procesados. Para obtener estos valores debemos utilizar la instrucción , estos valores los colocaremos dentro de las celdas de la tabla.

903

En la imagen superior tenemos el resultado del código. Esta tabla la hubiéramos podido hacer con una sección tipo tabla pero usando código eBDML tenemos la posibilidad de personalizarla mucho más.