PHP - Datos multiples en PHPExcel con consulta mysql extensa

 
Vista:
Imágen de perfil de francisco
Val: 93
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Datos multiples en PHPExcel con consulta mysql extensa

Publicado por francisco (45 intervenciones) el 15/01/2018 23:22:07
Hola buen dia en general ,

espero me puedan ayudar de nueva cuenta ya que tengo otro problema al momento de hacer una consulta es un poco complicada para mi nivel y creo que si se puede hacer les explico que es lo que ocupo hacer espero y me explique bien para que me entiendan.

quiero hacer una tabla con datos en un Excel que sea descargable desde php. se que aqui no es el foro de eso pero les explico para que mas o menos tengan idea de lo que quiero hacer.

9

es algo asi como esta en la imagen lo que quiero lograr , pero saco los datos de dos tablas de mi BD, que son estas tablas.

1
2
3
4
5
6
7
8
9
MariaDB [amaz4n]> describe catalogo;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| Part | varchar(250) | NO | | NULL | |
| descripcion | varchar(250) | NO | | NULL | |
| numFraccion | int(11) | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+

y esta

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
MariaDB [amaz4n]> describe h40d;
+--------------------------------------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------------------------------+-----------------+------+-----+---------+----------------+
| PO | varchar(255) | YES | | NULL | |
| SO | varchar(255) | YES | | NULL | |
| Ss | varchar(255) | YES | | NULL | |
| OrderLine | varchar(255) | YES | | NULL | |
| Ship-Date | date | YES | | NULL | |
| Scanlist-Date | varchar(255) | YES | | NULL | |
| Part | varchar(255) | YES | | NULL | |
| Part Desc | varchar(255) | YES | | NULL | |
| Part Type | varchar(255) | YES | | NULL | |
| Qty | varchar(255) | YES | | NULL | |
| Factura | varchar(255) | YES | | NULL | |
| Orden | varchar(255) | YES | | NULL | |
| id | int(6) unsigned | NO | PRI | NULL | auto_increment |
+--------------------------------------------+-----------------+------+-----+---------+----------------+

entonces como podran obserbar en la imagen estan varios campos en el formato, pero todos esos tienen el mismo numero de factura, entonces lo que quiero hacer es que me identifique que si en mi tabla hay numeros de factura iguales en diferentes partes me los devuelva, pero tambien en la table h40d y en la de catalogo estan unos campos que se llaman %Part. estos campos son iguales y si son iguales em la parte de mi formato donde dise "descripcion en español" va el campo descripcion de la tabla catalogo y en la parte fraccion va el campo fraccion eso lo puedo hacer con esta sentencia

"SELECT h40d.*, catalogo.descripcion, catalogo.numFraccion FROM h40d LEFT JOIN catalogo ON catalogo.part = h40d.part WHERE h40d.id='$id'";

y en el PHPExcel algo asi tengo pero no me funciona por que esta mal mi consulta.

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
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A15', 'Factura')
->setCellValue('B15', 'Orden')
->setCellValue('D15', 'Descripcion')
->setCellValue('F15', '#Parte)
->setCellValue('G15', 'Descr en Esp')
->setCellValue('I15', 'Cantidad')
->setCellValue('J15', 'Precio')
->setCellValue('K15','Valor')
->setCellValue('L15', 'Fraccion')
->setCellValue('M15','Valor agregado');

$i = 16;   // inicializamos el contador para empezar en la fila 16
   while ($r = mysql_fetch_object ($resultado)) {
     $objPHPExcel->setActiveSheetIndex(0)
 ->setCellValue('A'.$i, $registro->Factura)
  ->setCellValue('B'.$i, $registro->Orden)
  ->setCellValue('D'.$i, $registro->Descripcion)
  ->setCellValue('F'.$i, $registro->#Parte)
  ->setCellValue('G'.$i, $registro->DescrenEsp)
  ->setCellValue('I'.$i, $registro->Cantidad)
  ->setCellValue('J'.$i, $registro->Precio)
  ->setCellValue('K'.$i, $registro->Valor)
  ->setCellValue('L'.$i, $registro->Fraccion)
  ->setCellValue('M'.$i, $registro->Valoragregado);
      $i++;
   }

pero como puedo hacer para que me devuelva los numeros de facturas al momento de hacer la descarga.

Espero me puedan ayudar y me haya dado a entender.

muchas gracias por el apoyo
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