|
|
Línea 1: |
Línea 1: |
− | {{cleanupbox
| |
− | |texto ='''Este ejemplo es funcional para la [[KumbiaPHP_Framework_Versión_1.0_Beta2| Versión Beta2 en desarrollo]]'''<br />
| |
− | }}
| |
− | == Introducción ==
| |
− | Quise escribir este ejemplo que pude realizar, en espera de que ha alguien le pueda servir.<br />
| |
− | Lo que se pretende es realizar consultas filtradas a nuestra base de datos, ya sea por fechas y/o por algún campo
| |
| | | |
− | == Modelo ==
| |
− | '''Crear el Modelo'''
| |
− |
| |
− | '''''[app]/models/ventas.php:'''''
| |
− | <source lang="php">
| |
− | <?php
| |
− | class Ventas extends ActiveRecord{
| |
− | public function getVentas($page, $ppage=20){
| |
− | return $this->paginate("page: $page", "per_page: $ppage", 'order: id desc');
| |
− | }
| |
− | public function getVentasPorClienteyFecha($page,$desde,$hasta,$planta,$ppage=20){
| |
− | return $this->paginate("page: $page", "per_page: $ppage", "plantas_id = $planta and fecha between '$desde' and '$hasta'");
| |
− | }
| |
− | }?>
| |
− | </source>
| |
− |
| |
− | == Controller ==
| |
− |
| |
− |
| |
− | '''''[app]/controllers/ventas_controller.php:'''''
| |
− |
| |
− | <source lang="php">
| |
− | public function reporte_despachos_por_cliente($page=1){
| |
− | $venta = new Ventas();
| |
− | if($ventas = Input::request("ventas")){ //pregunto si recibí los datos del formulario "ventas"
| |
− | $cliente = $ventas['plantas_id']; //guardo en $cliente, la selección del combobox de la vista
| |
− | $desde = date("Y-m-d", strtotime($ventas['desde'])); //strtotime debido a que lee de un elemento jquery date_picker que entrega un valor en este formato ejemplo: '28 May 12'
| |
− | $hasta = date("Y-m-d", strtotime($ventas['hasta']));
| |
− | $this->listVentasPorCliente = $venta->getVentasPorClienteFiltrada($page,$desde,$hasta,$cliente);
| |
− | }else{ //en caso de no enviar datos (como pasa al cargar la vista) muestro la lista sin filtrar
| |
− | $this->listVentasPorCliente = $venta->getVentasPorCliente($page);
| |
− | }
| |
− | }
| |
− | </source>
| |
− |
| |
− | == Vista ==
| |
− |
| |
− | '''''[apps]/views/ventas/index.phtml'''''
| |
− | <source lang=php>
| |
− | <?php echo Form::open(); // por defecto llama a la misma url ?>
| |
− | <?php echo Form::label('Cliente :','ventas.cliente'); ?>
| |
− | <?php echo Form::dbSelect('ventas.clientes_id','nombre'); ?>
| |
− | <?php echo Form::label('Fecha Desde :','ventas.desde'); ?>
| |
− | <?php echo Form::text('ventas.desde',"class='text date_picker'"); ?> <!-- suponiendo que hay una class css llamada 'text date_picker' -->
| |
− | <?php echo Form::label('Fecha Hasta :','ventas.hasta'); ?>
| |
− | <?php echo Form::text('ventas.hasta',"class='text date_picker'"); ?>
| |
− | <?php echo Form::submit('Filtrar'); ?>
| |
− | <?php echo Form::close() ?>
| |
− |
| |
− | <table>
| |
− | <?php foreach ($listVentasPorCliente->items as $item) : ?>
| |
− | <tr>
| |
− | <td><?php echo $item->fecha ?></td>
| |
− | <td><?php echo $item->etc ?></td>
| |
− | <td><?php echo $item->etc ?></td>
| |
− | </tr>
| |
− | <?php endforeach; ?>
| |
− | </table>
| |
− | </source>
| |
− |
| |
− | [[Categoría:Tutoriales KumbiaPHP Beta2]]
| |