本文整理汇总了PHP中EntityManager::numRows方法的典型用法代码示例。如果您正苦于以下问题:PHP EntityManager::numRows方法的具体用法?PHP EntityManager::numRows怎么用?PHP EntityManager::numRows使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EntityManager
的用法示例。
在下文中一共展示了EntityManager::numRows方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getGrafico
public function getGrafico()
{
$em = new EntityManager($_SESSION['project']['conection']);
$em->query($this->query);
$rows = $em->fetchResult();
$nRegistros = $em->numRows();
$em->desConecta();
unset($em);
foreach ($rows as $value) {
$this->datosY[] = $value[$this->columnaY];
$this->titulosX[] = $value[$this->columnaX];
}
$grafico = new Graph($this->ancho, $this->alto);
$grafico->SetScale('textlin');
// Ajustamos los margenes del grafico----- (left,right,top,bottom)
$grafico->SetMargin(40, 30, 30, 40);
// Creamos barras de datos a partir del array de datos
$bplot = new BarPlot($this->datosY);
// Configuramos color de las barras
$bplot->SetFillColor('#479CC9');
//Añadimos barra de datos al grafico
$grafico->Add($bplot);
// Queremos mostrar el valor numerico de la barra
$bplot->value->Show();
// Configuracion de los titulos
$grafico->title->Set($this->titulo);
$grafico->xaxis->title->Set($this->tituloX);
$grafico->yaxis->title->Set($this->tituloY);
$grafico->title->SetFont(FF_FONT1, FS_BOLD);
$grafico->yaxis->title->SetFont(FF_FONT1, FS_BOLD);
$grafico->xaxis->title->SetFont(FF_FONT1, FS_BOLD);
$grafico->xaxis->SetTickLabels($this->titulosX);
// Se generada el archivo con el gráfico
$archivo = "docs/docs" . $_SESSION['emp'] . "/tmp/" . md5(date('d-m-Y H:i:s')) . ".png";
$grafico->Stroke($archivo);
return $archivo;
}
示例2: getXls
/**
* Genera un archivo XLSX con el listado
* @param integer $idFormatoListado
* @param string $aditionalFilter
* @return string $archivo El nombre completo (con la ruta) del archivo xlsx generado
*/
public function getXls($idFormatoListado, $aditionalFilter = '')
{
// CARGAR EL MOTOR PARA GENERAR ARCHIVOS EXCELS
$config = sfYaml::load('config/config.yml');
$config = $config['config'];
if (file_exists($config['excel'])) {
include_once $config['excel'];
} else {
die("NO SE PUEDE ENCONTRAR EL MOTOR EXCEL");
}
set_time_limit(0);
// Lee la configuracion del listado $idFormatoListado y
// la guarda en $parametros
$formato = new Form($this->entity, 'listados.yml');
$parametros = $formato->getFormatoListado($idFormatoListado);
unset($formato);
// CREAR EL DOCUMENTO
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("ERP Albatronic")->setTitle($parametros['title']);
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(14);
$objPHPExcel->getActiveSheet()->setTitle($parametros['title']);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $parametros['title'])->setCellValue('A3', 'Generado por ' . $_SESSION['usuarioPortal']['Nombre'])->setCellValue('A4', 'Fecha ' . date('d/m/Y H:i:s'));
// Fila de titulos
$columna = 'A';
foreach ($parametros['columns'] as $column) {
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($columna . '6', $column['title']);
$columna++;
}
// Construyo el array con los datos a listar.
// Sustituyo el ORDERBY que hay en el filtro por pantalla
// con el que viene de los parametros del listado
if ($this->getQuery() == '') {
$this->filter['orderBy'] = $parametros['order_by'];
$this->makeQuery($aditionalFilter);
}
$em = new EntityManager($this->form->getConection());
$em->query($this->getQuery());
$rows = $em->fetchResult();
$nRegistros = $em->numRows();
$em->desConecta();
unset($em);
$breakField = trim((string) $parametros['break_field']);
if ($breakField) {
$breakField = explode(",", $breakField);
} else {
$breakField = array();
}
$valorAnterior = '';
// Itero el array con los datos para generar cada renglón del listado
$totales = array();
$subTotales = array();
$fila = 7;
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
$objeto = new $this->entity();
foreach ($rows as $row) {
$columna = 'A';
$objeto->bind($row);
// Control (si se ha definido) del campo de ruptura
if (count($breakField)) {
// Instancio el objeto por el que se hace el break
$objetoBreak = $objeto->{"get{$breakField['0']}"}();
$valorActual = $objetoBreak->__toString();
if ($valorAnterior != $valorActual) {
if ($valorAnterior != '') {
$this->pintaTotalesExcel($objPHPExcel, $fila, $parametros['columns'], $subTotales);
$fila++;
$columna = 'A';
$subTotales = array();
}
// Pinto el valor del campo de ruptura y los eventuales valores
// adicionales que se hayan indicado en el nodo xml <break_field>
$texto = $valorActual;
for ($i = 1; $i < count($breakField); $i++) {
$texto .= " " . $objetoBreak->{"get{$breakField[$i]}"}();
}
$fila++;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($columna . $fila, $texto);
}
$valorAnterior = $valorActual;
unset($objetoBreak);
}
// Recorro las columnas que componen cada renglón
$fila++;
foreach ($parametros['columns'] as $value) {
$formato = trim((string) $value['format']);
$texto = trim($objeto->{"get{$value['field']}"}());
if ($formato) {
$texto = sprintf($formato, $texto);
}
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($columna . $fila, $texto);
// Calcular Eventuales totales y subtotales de cada columna
if (strtoupper($value['total']) == 'YES') {
$totales[(string) $value['field']] += (double) $texto;
//.........这里部分代码省略.........
示例3: getPdf
/**
* Genera un archivo pdf con el listado
* @param array $parametros Array con los parámetros de configuración del listado
* @param string $aditionalFilter
* @return string $archivo El nombre completo (con la ruta) del archivo pdf generado
*/
public function getPdf($parametros, $aditionalFilter = '')
{
set_time_limit(0);
// Orientación de página, unidad de medida y tipo de papel
$orientation = strtoupper(trim($parametros['orientation']));
if ($orientation != 'P' and $orientation != 'L') {
$orientation = 'P';
}
$unit = strtolower(trim($parametros['unit']));
if ($unit != 'pt' and $unit != 'mm' and $unit != 'cm' and $unit != 'in') {
$unit = 'mm';
}
$format = strtolower(trim($parametros['format']));
if ($format != 'a4' and $format != 'a3' and $format != 'a5' and $format != 'letter' and $format != 'legal') {
$format = 'A4';
}
// Márgenes: top,right,bottom,left
$margenes = explode(',', trim($parametros['margins']));
if (count($margenes) != 4) {
$margenes = array('10', '10', '15', '10');
}
// Tipo y tamaño de letra para el cuerpo del listado
$bodyFont = explode(',', trim($parametros['body_font']));
if (count($bodyFont) != 3) {
$bodyFont = array('Courier', '', '8');
} else {
$bodyFont[0] = trim($bodyFont[0]);
$bodyFont[1] = trim($bodyFont[1]);
$bodyFont[2] = trim($bodyFont[2]);
}
// Altura de la línea. Por defecto 4 mm.
$lineHeight = trim($parametros['line_height']);
if ($lineHeight <= 0) {
$lineHeight = 4;
}
// Construir la leyenda del filtro
$leyendaFiltro = array();
if (is_array($this->filter['columnsSelected'])) {
foreach ($this->filter['columnsSelected'] as $key => $column) {
if ($this->filter['valuesSelected'][$key] != '') {
$entidad = $this->circulares[$this->idCircular]['filters'][$key]['entity'];
if ($entidad) {
$aux = explode(",", $entidad);
$entidad = $aux[0];
$idEntidad = $this->filter['valuesSelected'][$key];
$objeto = new $entidad($idEntidad);
$valor = $objeto->__toString();
} else {
$valor = $this->filter['valuesSelected'][$key];
}
$leyendaFiltro[] = array('Column' => $parametros['filters'][$key]['caption'], 'Value' => $valor);
}
}
}
// CREAR EL DOCUMENTO
$pdf = new ListadoPDF($orientation, $unit, $format, array('title' => $parametros['title'], 'titleFont' => $bodyFont, 'columns' => $parametros['columns'], 'leyendaFiltro' => $leyendaFiltro));
$pdf->SetTopMargin($margenes[0]);
$pdf->SetRightMargin($margenes[1]);
$pdf->SetLeftMargin($margenes[3]);
$pdf->SetAuthor("Informatica ALBATRONIC, SL");
$pdf->SetTitle($parametros['title']);
$pdf->AliasNbPages();
$pdf->SetFillColor(210);
$pdf->AddPage();
$pdf->SetAutoPageBreak(true, $margenes[2]);
// CUERPO
$pdf->SetFont($bodyFont[0], $bodyFont[1], $bodyFont[2]);
$em = new EntityManager($_SESSION['project']['conection']);
$em->query($this->query);
$rows = $em->fetchResult();
$nRegistros = $em->numRows();
$em->desConecta();
unset($em);
$breakPage = strtoupper(trim((string) $parametros['break_page'])) == 'YES';
// ----------------------------------------------
// Cargo la configuración de la línea del listado
// En el array $columnasMulticell guardo el nombre de los
// campos que se imprimirán en Multicell y su anchura en la unidad de medida
// establecida para calcular la altura máxima y controlar el salto de página
// ----------------------------------------------
$configLinea = array();
$columnsMulticell = array();
$caracteresLinea = 0;
foreach ($parametros['columns'] as $key => $value) {
$caracteres = (int) $value['length'];
$anchoColumna = $pdf->getStringWidth(str_pad(" ", $caracteres)) + 1;
//Le sumo 1 para que haya 1 mm de separación entre cada columna
$caracteresLinea += $caracteres;
$tipo = trim((string) $value['type']);
$align = strtoupper(trim((string) $value['align']));
if ($align != 'R' and $align != 'C' and $align != 'L' and $align != 'J') {
$align = "L";
}
$formato = trim((string) $value['format']);
//.........这里部分代码省略.........