

Sab Jun 16, 2007 1:19 pm
|
 |
Emerson
Perlero Nuevo

|
Registrado: 16 Feb 2006
Mensajes: 32
|
|
| explorer |
|
|
ok, hice lo que me explicaste, ya hice todo pero no me abre el archivo HTML;
yo llamo a esta función
| Perl: | sub crear_reporte_prov {
$paginaParte1= ""; $paginaParte2= ""; $paginaParte3= ""; $pagina= "";
if( open(sx1,-file=> "/home/mrson/Desktop/SIDISPOL_ULTIMO_CON_IMAGENES/html/reporte_proveedores_todos.html") ) {
$paginaParte1= "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Documento sin título</title>
<style type='text/css'>
<!--
body {
margin-top: 0px;
}
.Estilo1 {font-family: Verdana, Arial, Helvetica, sans-serif}
.Estilo15 {
font-size: 9px;
font-weight: bold;
}
.Estilo19 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8px; }
.Estilo21 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: 14px;
}
.Estilo22 {color: #FFFFFF}
-->
</style></head>
<body>
<table width='800' border='0' align='center' cellpadding='0' cellspacing='0' >
<tr>
<td><img src='imagenes/top.gif' width='775' height='126' /></td>
</tr>
</table>
<table width='800' border='0' align='center' bordercolor='#000000' cellpadding='0' cellspacing='0' >
<tr>
<td bgcolor='#003366'><div align='center' class='Estilo22'><span class='Estilo21'>PROVEEDORES</span></div></td>
</tr>
</table>
<table width='800' border='1' align='center' bordercolor='#000000' cellpadding='0' cellspacing='0' >
<tr bgcolor='#CCCCCC'>
<td width='45' height='14'><div align='center' class='Estilo15'> <span class='Estilo1'>CÓDIGO</span></div></td>
<td width='127'><div align='center' class='Estilo15'> <span class='Estilo1'>NOMBRE</span></div></td>
<td width='70'><div align='center' class='Estilo15'> <span class='Estilo1'>RIF.</span></div></td>
<td width='78'><div align='center' class='Estilo15'> <span class='Estilo1'>TELF.</span></div></td>
<td width='124'><div align='center' class='Estilo15'> <span class='Estilo1'>REPRESENTANTE</span></div></td>
<td width='74'><div align='center' class='Estilo15'> <span class='Estilo1'>F. REGISTRO </span></div></td>
<td width='54'><div align='center' class='Estilo15'> <span class='Estilo1'>ESTADO</span></div></td>
<td width='210'><div align='center' class='Estilo15'> <span class='Estilo1'>DIRECCIÓN</span></div></td>
</tr>";
use DBI;
$db_user= "root";
$db_pass= "051294";
$host_name= "localhost";
$db_name= "bd_sidispol";
$q_string= "DBI:mysql:host=$host_name;database=$db_name";
$coneccion=DBI-> connect ($q_string, $db_user, $db_pass);
$consulta= $coneccion-> prepare("select * from tbl_empresa order by cod_emp");
$consulta-> execute();
#$i=0;
while( @datos_conproveedor= $consulta-> fetchrow_array() ) {
@fecha_11= split(/-/, $datos_conproveedor[9]);
$paginaparte2= $paginaparte2. "
<tr>
<td><div align='center'><span class='Estilo19'>$datos_conproveedor[0]</span></div></td>
<td><span class='Estilo19'>$datos_conproveedor[1]</span></td>
<td><div align='center'><span class='Estilo19'>$datos_conproveedor[2]</span></div></td>
<td><div align='center'><span class='Estilo19'>$datos_conproveedor[4]-$datos_conproveedor[5]</span></div></td>
<td><div align='center'><span class='Estilo19'>$datos_conproveedor[8]</span></div></td>
<td><div align='center'><span class='Estilo19'>$fecha_11[2]-$fecha_11[1]-$fecha_11[0]</span></div></td>
<td><div align='center'><span class='Estilo19'>$datos_conproveedor[7]</span></div></td>
<td><span class='Estilo19'>$datos_conproveedor[6]</span></td>
</tr>";
$i++;
}
$paginaparte3= "
</table>
</body>
</html>";
$pagina= $paginaParte1. $paginaparte2. $paginaparte3;
print sx1 "$pagina";
close(sx1 );
system("///home/mrson/Desktop/SIDISPOL_ULTIMO_CON_IMAGENES/html/reporte_proveedores_todos.html");
}
} |
|
|

Sab Jun 16, 2007 7:28 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
|
|
|
|
|
¿Qué es esto?
Ese open() no lo conozco en Perl.
Si vuelves a usar el open() del Perl, lo recomendable es hacerlo así:
| Perl: | my $fichero = '/home/mrson/Desktop/SIDISPOL_ULTIMO_CON_IMAGENES/html/reporte_proveedores_todos.html';
open(SX1, ">$fichero") or die "ERROR: No puedo abrir el fichero $fichero: $!\n"; |
Así sabremos porqué no puedes abrirlo en modo escritura.
Y otro consejo sería: aprende a usar el módulo CGI y te ahorrarás el escribir muuuuuuuuuuuuucho código HTML. |
|

Lun Jun 18, 2007 7:26 pm
|
 |
Perl user
Maestro Honorario

|
Registrado: 03 Nov 2004
Mensajes: 385
|
|
|
|
|
Creo que ya no recomendaría el módulo CGI directamente, a fin de cuentas, tendrías que generar HTML incrustando llamadas en el código, y si ya tiene código HTML prácticamente estático, lo mejor sería utilizar algún módulo que funcione con plantillas.
Text::Template, HTML::Template, Template Toolkit o Catalyst, cualquiera de ellos (en orden de complejidad) podría ser mucho mejor.
Saludos, |
|
Powered by phpBB © 2001, 2005 phpBB Group
|