PHP - ayuda: como filtra e imprimir dos columnas por separado

 
Vista:

ayuda: como filtra e imprimir dos columnas por separado

Publicado por cosmito (110 intervenciones) el 31/01/2020 21:19:06
Necesito por favor una ayuda con un reporte; la idea es imprimir 2 columnas con un campo que se extrae de una tabla en postgresql en dicha tabla tengo un campo llamado cod_tipo_gasto, codigo de tipo de gasto.

estan los egresos marcados con 1 y los ingresos marcados con 2,

en una columna debo imprimir los EGRESOS y en la otra los INGRESOS

he intentado hacerlo pero todos los registros se estan imprimiendo en una sola columna.

en negrita esta el codigo con el cual estoy luchando

este es el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
require('Classes/PHPExcel.php');
$connect = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=Wrap*/1808");
$fecha = date('d-m-Y');
$objXLS = new PHPExcel();
$objSheet = $objXLS->setActiveSheetIndex(0);
$objSheet->setCellValue('A2','Fecha');
$objSheet->getStyle('A3:A7')->getFont()->setBold(true);
$objSheet->getStyle('A3:A7')->getFont()->setSize(12);
$objSheet->setCellValue('A3','Alicuota:1,0819100');
$objSheet->setCellValue('A4','BCO MERCANTIL/CTA CORRIENTE');
$objSheet->setCellValue('A5','0105-0078-80-1078262837');
$objSheet->setCellValue('A6','RIF.J-30932729-1');
$objSheet->setCellValue('A7','condominiofetraconstruccion@yahoo.es');
$objSheet->setCellValue('A8','CONCEPTOS');
$objSheet->setCellValue('B2',date('d-m-Y'));
$objSheet->setCellValue('B7','EGRESOS');
$objSheet->getStyle('D1:D1')->getFont()->setBold(true);
$objSheet->getStyle('D1:D1')->getFont()->setSize(12);
$objSheet->setCellValue('D1','RECIBO DE COBRO');
$objSheet->setCellValue('D7','INGRESOS');
$numero = 9;
$alicuota = 1.08191;
$reserva = "SELECT SUM(vreserva.monto) AS totalreserva FROM vreserva";
$resultreser = @pg_query($connect,$reserva);
 while($selectre = @pg_fetch_array($resultreser)){
       $totalreserva1 = $selectre['totalreserva'];
	 }
	   $consulta2 = "SELECT * FROM vcobro";
	   $actualiza = @pg_query($connect,$consulta2);
		while($dato=pg_fetch_array($actualiza)){
     		  $objSheet->setCellValue('A'.$numero, $dato['descripcion']);
 
 
     	if ($dato['cod_tipo_gasto'] = 2)
     	{
     		  $objSheet->setCellValue('B'.$numero, $dato['monto']);
    	}
	    else
	    {
 
 		  	  $ntotal+=$dato['monto'];
 
 		  	  $monto = $dato['monto'];
  			  $objSheet->setCellValue('D'.$numero,$monto);
  		 }
              $alicu +=$alic;
              ///CALCULO DEL 10% DE LA RESERVA
                               $calreser = $total * .10;
                               $totaldistr = $total + $calreser;
			  $numero++;
            }
        $objSheet->setCellValue("B{$numero}","=SUM(B9:{($numero + 1)})");
        $numero++;
				  			//  $objSheet->setCellValue('B'.$numero, $ntotal);
				  			  $numero++;
				  			  $objSheet->setCellValue('A'.$numero,"Fondo de Reserva 10%");
				  			  $calreser = $ntotal * .10;
  			  				  $objSheet->setCellValue('B'.$numero,$calreser);
				  		//	  $numero++;
				              $totalgastcomunes = $ntotal + $calreser;
                              $alicuoreser = $calreser * .10 * $alicuota / 10;
  			                  $objSheet->setCellValue('D'.$numero, $alicuoreser);
//				  		  	  $objSheet->setCellValue('D26','=sum(D9:D25)');
				              $numero++;
   							  $objSheet->setCellValue('A'.$numero,"Total Gastos Comunes");
				 			  $objSheet->setCellValue('B'.$numero, $totalgastcomunes);
				 			  ///////////////////////////
				 			  //$numero++;
				  			  $totalalicuota = $alicu + $alicuoreser;
  				  			  $objSheet->setCellValue('D'.$numero, $totalalicuota);
			 	 			  //////////////////
				  			  $numero++;
							  $objSheet->getStyle('D:E')->getFont()->setBold(true);
				  			  $objSheet->getStyle('D:E')->getFont()->setSize(12);
							  $objSheet->setCellValue('D'.$numero,'NETO A PAGAR Bs.:');
				 			  $objSheet->setCellValue('E'.$numero, number_format($totalalicuota,2,',','.'));
				              $sualicuota = $totalgastcomunes * $alicuota/100;
							  $numero++;
							  $objSheet->setCellValue('A'.$numero,'Su Alicuota');
				  			  $objSheet->setCellValue('B'.$numero, $sualicuota);
				              //////////////////////////
				  			  $numero++;
				  			  $objSheet->getStyle('A:E')->getFont()->setBold(true);
				  			  $objSheet->getStyle('A:E')->getFont()->setSize(12);
				              $objSheet->setCellValue('A'.$numero,'Fondo de Reserva');
				              $objSheet->setCellValue('B'.$numero,'Saldo Anterior');
							  $objSheet->setCellValue('D'.$numero,'Cargo del Mes');
							  $objSheet->setCellValue('E'.$numero,'Saldo Actual');
				              $numero++;
							  $objSheet->setCellValue('B'.$numero, $totalreserva1);
							  $objSheet->setCellValue('D'.$numero, $calreser);
							  $totreserva = $totalreserva1 + $calreser;
							  $objSheet->setCellValue('E'.$numero, $totreserva);
						      $connect = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=Wrap*/1808");
    	                      $reser = "INSERT INTO reserva(fecha,monto) VALUES ('$fecha',$calreser)";
	  				          $agrega  = @pg_query($connect,$reser);
			$objXLS->getActiveSheet()->getColumnDimension("A")->setAutoSize(true);
			$objXLS->getActiveSheet()->getColumnDimension("B")->setAutoSize(true);
			$objXLS->getActiveSheet()->getColumnDimension("C")->setAutoSize(true);
			$objXLS->getActiveSheet()->getColumnDimension("D")->setAutoSize(true);
			$objXLS->getActiveSheet()->getColumnDimension("E")->setAutoSize(true);
			$objXLS->getActiveSheet()->getColumnDimension("F")->setAutoSize(true);
			$objXLS->getActiveSheet()->setTitle('DEUDA');
			$objXLS->setActiveSheetIndex(0);
//header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
//header('Content-Disposition: attachment;filename="Deuda.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objXLS, 'Excel5');
//$objWriter->save('php://output');
$objWriter->save('C:\Users\Dixon\Desktop\RECIBO.xls');
echo "Documento Guardado en el Escritorio, el nombre del ARCHIVO es: RECIBO.xls";
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 1.526
Plata
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

ayuda: como filtra e imprimir dos columnas por separado

Publicado por Julio (486 intervenciones) el 01/02/2020 13:18:19
Hola,

No he mirado todo el código que comentas a fondo, pero indicas que te estás pegando con el código en negrita en el que veo ésto:

1
if ($dato['cod_tipo_gasto'] = 2)

Estás asignando el 2 cuando, supongo, querrás que te haga la comprobación de si $dato['cod_tipo_gasto'] es igual a 2, con lo que deberías usar == en vez de = para ello. Si no, no le veo sentido a este if.



-----------------------------
Aprende la programación desde una perspética básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda: como filtra e imprimir dos columnas por separado

Publicado por cosmito (110 intervenciones) el 02/02/2020 21:10:16
Oye tienes razon olvidaba ese aspecto. Lo voy a probar a ver.
Efectivamente ese era el error, gracias amigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda: como filtra e imprimir dos columnas por separado

Publicado por cosmito (110 intervenciones) el 04/02/2020 16:01:23
Bueno dias ya esta resuelto muchas gracias Julio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 1.526
Plata
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

ayuda: como filtra e imprimir dos columnas por separado

Publicado por Julio (486 intervenciones) el 04/02/2020 16:48:28
Me alegro.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda: como filtra e imprimir dos columnas por separado

Publicado por cosmito (110 intervenciones) el 04/02/2020 20:46:28
Amigo Julio a proposito de todo, que me recomeindas para desarrollar mas la logica? estuve mirando Programacion basica pero no encuentro los enlaces y ejemplos. Y disculpa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 1.526
Plata
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

ayuda: como filtra e imprimir dos columnas por separado

Publicado por Julio (486 intervenciones) el 04/02/2020 21:37:45
Hola.

Deberías mirarte cosas sobre álgebra de boole y matemática discreta. Si eso te asusta (a mí me asusta), ve por cosas más sencillas. ¿Estuviste mirando mi blog? Aún tengo poco contenido, pero voy añadiendo dos o tres artículos de manera semanal. Si entras en el índice de contenidos. Precisamente, verás que este mismo viernes publico el artículo sobre Operadores de comparación y lógicos donde hablo un poco de la lógica básica a usar con if y else (operadores AND, OR, NOT...).

Sería agradable para mí que te suscribieras al Newsletter y así te llegaran cada semana los nuevos artículos para leer. ¡Ya ves en el índice que tengo muchos preparados para las próximas semanas!

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda: como filtra e imprimir dos columnas por separado

Publicado por cosmito (110 intervenciones) el 02/02/2020 21:30:39
A proposito tal vez puedas usar ese codigo para un reporte en excel creado conla clase PHPExcel, este es para un recibo de condominio.
Gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar