Foros del Web » Programando para Internet » PHP »

problema con matriz php

Estas en el tema de problema con matriz php en el foro de PHP en Foros del Web. bueno pues mi problema se genera cuando quiero imprimir en pantalla los datos que tengo almacenados en una matriz , me aparece un error que ...
  #1 (permalink)  
Antiguo 17/04/2010, 18:46
 
Fecha de Ingreso: marzo-2010
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 0
problema con matriz php

bueno pues mi problema se genera cuando quiero imprimir en pantalla los datos que tengo almacenados en una matriz , me aparece un error que dice undefined offset , mas sin embargo si imprime el resultado.

Código:
<?php
require_once("dompdf/dompdf_config.inc.php");
include_once('conexion.php');
$mes=$_POST['mes'];
$anio=$_POST['year'];
$fecha_c=$anio.'-'.$mes;
$cf=0;
for($i=0;$i<=3;$i++)
{
switch($i)
 {
	case 0:
	$tipo='semillas';
	$campo='cantidad';
	break;
	case 1:
	$tipo='plantula';
	$campo='plantula_desarrollo';
	break;
	case 2:
	$tipo='yema';
	$campo='cantidad';
	break;
	case 3:
	$tipo='plantas_terminadas';
	$campo='cantidad';
	break;
 }
$query=mysql_query("SELECT 
DISTINCT(especie_variedad) as especie,
sum($campo) as total
FROM $tipo
WHERE n_vivero='$vivero'
AND
DATE_FORMAT(fecha_captura,'%Y-%m') = '$fecha_c'
GROUP BY especie_variedad") or die(mysql_error());
$cp=0;
while($row=mysql_fetch_array($query))
{
$especie[$i][$cp]=$row['especie'];
$cantidad[$i][$cp]=$row['total'];
$cp+=1;
}
if($cf<$cp)
{
$cf=$cp;
}
}
$html='
<img src="img/cabecera_pdf.png"/>
<br/>
<span>Mes</span>
<span>anio</span>
<table border="1">
<tr >
 <td rowspan="2">Nombre Vivero</td>
  <td colspan="2">Semillas</td>
  <td colspan="2">Plantula</td>
  <td colspan="2">Yema</td>
  <td colspan="2">Terminada</td>
</tr>
<tr>
 <td>Especie/Variedad</td>
 <td>Cantidad(kg)</td>
  <td>Especie/Variedad</td>
 <td>Cantidad(kg)</td>
  <td>Especie/Variedad</td>
 <td>Cantidad(kg)</td>
  <td>Especie/Variedad</td>
 <td>Cantidad(kg)</td>
</tr>';
for($i=0;$i<$cf;$i++)
{
$html.='<tr>';
$html.='<td>'.$vivero.'</td>';
for($j=0;$j<4;$j++)
{
$html.='<td>'."$especie[$j][$i]".'</td><td>'."$cantidad[$j][$i]".'</td>';
}
$html.='</tr>';
}
$html.='</table>';

$dompdf = new DOMPDF();
$dompdf->set_paper('letter','landscape');
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("reporte_estado.pdf");
// echo $html;
?>
ahora estoy usando una libreria llamada dompdf para pues generar el archivo ya que es un reporte , el problema es que si imprimo la cadena $html , la pagina se ve de manera correcta , solo que con los errores mencionados previamente undefined offset , el error me lo marca en la linea en rojo , y para que sirva la generacion del documento en pdf tambien me marca error en la misma linea , asi que supongo que por ahi estara el error pero no se a q se deba espero su ayuda gracias!!!

oo en su defecto alguna libreria para manejar pdf que sea sencilla porque la entrega de este proyecto es urgente gracias!
  #2 (permalink)  
Antiguo 17/04/2010, 18:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con matriz php

para nada necesitas de otra librería, aún así seguirías cometiendo el mismo error y volverías a echarle la culpa a PHP...

bien, tu problema es un error común... dices que aunque sale la advertencia si imprime y es cierto, no hay problema... el punto es que el mensaje de error es especifico y te dice lo siguiente:

Código PHP:
echo $foo[$candy][$bar]; 
si $foo es un arreglo, y tiene valores... pero los índices que intentas leer no existen en realidad, entonces el interprete de PHP te manda un mensaje como el que tienes ahora...

¿como resolverlo??

pues fácil: controlando el uso deliberado de variables e índices inexistentes
Código PHP:
if (isset($foo[$candy][$bar])) // ... OK 
así tenemos controlado nuestro código... solo si existe en realidad dicho(s) índice(s) la ejecución será positiva... ;)

PDTA: al final no es un problema con una matriz es un problema de programación en general, ya que el control de variables aplica a todo tipo de variables... claro, incluyendo los arrays...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/04/2010, 19:04
 
Fecha de Ingreso: marzo-2010
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: problema con matriz php

muchas gracias , pateketreke!!
con eso del contro le variables todo funciono perfecto. incluso la generacion del documento ,,

de igual , manera que otra libreria recomendarias para la creacion de archivos pdf?

Etiquetas: matriz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:17.