Foros del Web » Programando para Internet » PHP »

ayuda con reportes por favor!!! :(

Estas en el tema de ayuda con reportes por favor!!! :( en el foro de PHP en Foros del Web. hola que tal tengo el siguiente codigo este codigo muestra datos de dos tablas cooomo se ve en la siguiente imagen: la idea es que ...
  #1 (permalink)  
Antiguo 15/11/2006, 20:55
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
ayuda con reportes por favor!!! :(

hola que tal tengo el siguiente codigo este codigo muestra datos de dos tablas cooomo se ve en la siguiente imagen:



la idea es que esta tabla pueda imprimirse en un documento pdf como podria hacerlo? ayuda por favor
este es el codigo que tengo:
Código PHP:

<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK href="Classic.css" type=text/css rel=stylesheet>
</head>

<body>

<?
include("conexion.php");
$link=Conectarse();
$sql1=mysql_query("select * from newquim",$link);
?>


  <table width="779" align="center">
    <tr> 
      <td colspan="2" align="center"><img src="imagenes/log300.jpg" width="300" height="64"></td>
    </tr>
    <tr> 
      <td width="497" align="left"> 
        <? 
$dias 
= array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado");
echo 
"Hoy es ".$dias[date('w')];
echo 
date (" d ");
$mes = array("","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
echo 
"de ".$mes[date('n')];
echo (
" de ");echo date(" Y ");
?>
      </td>
      <td width="270" align="right"><?php echo $_COOKIE['nombrev']; ?></td>
    </tr>
    <tr> 
      <td colspan="2" align="left" bgcolor="#FFFFFF"> 
                  
                <ul id="udm" class="udm">
                <li><a class="navicon nohref" id="navarrow">OPCIONES</a> 
                  <ul>
                    
                    
                        <li><a href="javascript:window.location='mosquim.php'" >Ver Lista de Quimicos </a></li>
                        <li><a href="javascript:window.location='addformula.php'" >Crear Nueva Formula para Bloques de Espuma </a></li>                   
                        <li><a href="javascript:window.location='quimedit.php'" >Listado de Formulas </a></li>
                        <li><a href="javascript:window.location='addpedido21.php'" >Realizar Pedido Bloques de Espuma</a></li>
                        <li><a href="javascript:window.location='pedprod.php'" >Listado de pedidos en produccion</a> </li>
                    <!-- <li><a href="javascript:window.location='index.html'" > Votra 
                      cosa</a> </li> -->
                  </ul>
                </li>
        </ul>
      </td>
    </tr>
    <tr>
      <td colspan="2" align="center"><hr color="#000099"></td>
    </tr>
    <tr> 
      <td colspan="2" align="center">TITULO DEL FORMULARIO</td>
    </tr>
    <tr> 
      <td colspan="2" align="center"><hr color="#000099"></td>
    </tr>
     <tr> 
      
    <td colspan="2" align="center">    </td>
    </tr>
  </table>

<form action="prueba.php" method="post">
<center><input name="nombreform" type="submit" value="Enviar pedido(s) a Produccion"></center><br><hr>

<?php 
include("conexinven.php");
$linkin=Conectarseinv();
$sqlquimicos=mysql_query("select * from newquim",$linkin);
?>
<table width="100%" align="center" border="1">
<tr class="gen">
    <td align="center">Nº</td>
    <td align="center">Densidad</td>
    <td align="center">Dimensiones</td>    
<?php
$i
=0;
while(
$col mysql_fetch_array($sqlquimicos))
{
echo 
"<td align='center'>".$col['item']."<br>".$col['tipo']."</td>";
$vecq[$i]=$col['item'];
$i=$i+1;
}
?>
    <td align="center">Guardar</td>
</tr>
<?php 
$link
=Conectarse();
$sql mysql_query("select * from pgeren where estado ='1'",$link);    
$k=1;
$ck='idcaja';
$nkck=$ck.$k;
while(
$rows mysql_fetch_array($sql))
{
$a=$rows["Id"];
echo 
"<tr class='gen'>";
echo 
"<td align='center'>1</td>";
echo 
"<td align='center'>".$rows['densidad']."</td>";
echo 
"<td align='center'>".$rows['dimensiones']."</td>";
        
$idq mysql_query("select * from quimicospg where id_quimico ='$a'",$link);    
        for(
$y=0;$y<$i;$y=$y+1)
        {
        
$vecmos[$y]='-';
        }
        while(
$rowqmysql_fetch_array($idq))
          {     
         if(
$rowq['id_quimico']==$idquimico)
         {
         
$valor='Yes';
         
$valorid=$idquimico;
         echo 
"<input type='HIDDEN' name='$nkck' value='".$rowq['Id']."'>";
         
$k=$k+1;
         
$nkck=$ck.$k;
         }
         
            for(
$j=0;$j<$i;$j=$j+1)
            {
                if(
$vecq[$j]==$rowq['item'])
                {
                
$vecmos[$j]=$rowq['Can_quimico'];
                }
             }        
         
         }
        
//echo $valor;
        
if($valor=='Yes')
        {
        
$n=0;
        
$a='caja';
        
$z=$a.$n;
            for(
$y=0;$y<$i;$y=$y+1)
            { 
                if(
$vecmos[$y]=='-')
                {
                echo 
"<td align='center'>".$vecmos[$y]."</td>";
                
$valor='No';
                }
            else
                {
                
$n=$n+1;
                
$z=$a.$n;
            
                echo 
"<td align='center'><input type='text' name='$z' value=".$vecmos[$y]." size='5'></td>";
                
$valor='No';
                }
            }
                    echo 
"<td>";?><input type="submit" name="Submit" value="Enviar"><? echo "</td>";


        }
        else
        {
            for(
$y=0;$y<$i;$y=$y+1)
            { echo 
"<td align='center'>".$vecmos[$y]."</td>";}
        
        }
        
    echo 
"</tr>";    
}
echo 
"<input type='HIDDEN' name='idpedido' value='$idquimico'>";
echo 
"<input type='HIDDEN' name='cantidadkk' value='$n'>";
?>



</table>
</form>


</body>
</html>
espero puedan ayudarme por favor!
  #2 (permalink)  
Antiguo 15/11/2006, 21:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. y has intentado ya usar FPDF (www.fpdf.org) como ya en otros menesajes tuyos:

http://www.forosdelweb.com/f18/como-hago-reportes-443429/

Se te ha recomendado?. Creo que es mejor (y dás mas confianza a quien pretenda ayudarte) si tu lo intentas y nos vas contando los problemas que tengas que no que lo pidas que te lo hagan ..

De hecho en el mensaje que te destaco ya indicastes un código que estás usando aplicado a FPDF u otra classe y que tenías cierto grado de problema en el .. Por favor .. no abras temas de esta forma, continua el hilo de los temas abiertos en primera instancia.

Y sobre todo ten la deferencia de contestar si se te pregunta algo como así esperas respuestas si tu preguntas. (esto es sólo un tema de "cortesía" nada más .. )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 18/11/2006, 08:18
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
Disculpas

Bueno mill disculpas a los del foro. , Bueno ya voy con eso de los reportes, y ahora saque esta solucion,

Código PHP:
<?php

require('fpdf.php');
class 
PDF extends FPDF

{
//Cargar los datos

function LoadData($file)
{
    
//Leer las líneas del fichero
    
$lines=file($file);
    
$data=array();
    foreach(
$lines as $line)
        
$data[]=explode(';',chop($line));
    return 
$data;
}

//Tabla coloreada
function FancyTable($header,$data)
{
    
//Colores, ancho de línea y fuente en negrita
    
$this->SetFillColor(255,0,0);
    
$this->SetTextColor(255);
    
$this->SetDrawColor(128,0,0);
    
$this->SetLineWidth(0.1);
    
$this->SetFont('','B');
    
//Cabecera
    
$w=array(20,20,20,20,20,20); // Ancho y Numero de las columnas
    
for($i=0;$i<count($header);$i++)
        
$this->Cell($w[$i],7,$header[$i],1,0,'C',1);
    
$this->Ln();
    
//Restauración de colores y fuentes
    
$this->SetFillColor(224,235,255);
    
$this->SetTextColor(0);
    
$this->SetFont('');
    
//Datos
    
$fill=0;
    foreach(
$data as $row)
    {
        
$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
        
$this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
        
$this->Cell($w[2],6,$row[2],'LR',0,'R',$fill);
        
$this->Cell($w[3],6,$row[3],'LR',0,'R',$fill);
        
$this->Cell($w[4],6,$row[3],'LR',0,'R',$fill);
        
$this->Cell($w[5],6,$row[3],'LR',0,'R',$fill);
        
$this->Ln();
        
$fill=!$fill;
    }
    
$this->Cell(array_sum($w),0,'','T');
}
}

$pdf=new PDF();
//Títulos de las columnas
$header=array('País','Capital','Superficie (km2)','Pobl. (en miles)','dsf','assadads');
//Carga de datos
$data=$pdf->LoadData('paises.txt');
$pdf->SetFont('Arial','',7);
//$pdf->AddPage();
//$pdf->BasicTable($header,$data);
//$pdf->AddPage();
//$pdf->ImprovedTable($header,$data);
$pdf->AddPage();
$pdf->FancyTable($header,$data);
$pdf->Output();
?>
Este codigo dibuja el reporte de un txt; que es el siguiente (paises.txt);

Austriadgfdsdf;Vienna;83859;8075
Belgium;Brussels;30518;10192
Denmark;Copenhagen;43094;5295
Finland;Helsinki;304529;5147
France;Paris;543965;58728
Germany;Berlin;357022;82057
Greece;Athens;131625;10511
Ireland;Dublin;70723;3694
Italy;Roma;301316;57563
Luxembourg;Luxembourg;2586;424
Netherlands;Amsterdam;41526;15654
Portugal;Lisbon;91906;9957
Spain;Madrid;504790;39348
Sweden;Stockholm;410934;8839
United Kingdom;London;243820;58862


bueno lo que quiero saber ahora es como puedo guardar mis dotas genrados de ese query, ( cuya imagen esta mas arriba) en un txt, separados por un punto ";" para asi jalar los detos de ahi no mas ,
Bueno gracias de ante mano y 1000 disulpas por las molestias Señor CLUESTER
  #4 (permalink)  
Antiguo 18/11/2006, 10:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No entiendo que es un "dotas" ni un "detos" .. Realmente no entiendo que pretendes hacer. Una cosa es generar un "reporte" o mejor dicho presentar unos resultados de una consulta SQL o proceso de lectura de esos datos de donde los obtengas y generar un formato de saida: HTML, CSV, PDF .. etc y otra es crear una aplicación que premita realizar acciones con esos registros (como lo que expones en tu primer ejemplo).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 18/11/2006, 10:37
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
Disculpas

Hucha, voy de mal en peor en el Foro, lo siento eran "datos", bueno estaba averiguando, y lo que quiero es generar un archivo CSV, para que asi con el codigo anterior pueda generar mi reporte, Entonce mi pregunta es:

¿Como genero un archivo CSV de una consulta MySQL (la que esta al principio de la pagina)?
Gracias de ante mano.

PD. El codigo anterior ya lo voy entendiendo....
PD2. Disculpas, que soy malo para postear

Última edición por ikaroraul; 18/11/2006 a las 10:49
  #6 (permalink)  
Antiguo 18/11/2006, 10:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si no quieres complicarte .. tienes código ya hecho (classes de preferencia) que hacen lo que necesitas.

http://www.phpclasses.org/browse/package/3414.html

Pero, sería bueno que entiendas que es lo que vas hacer ..
El formato CSV define una estructura de archivo bien clara: campos separados por comas y registros por salto de línea.

Tu "registro" lo obtienes de tu consulta SQL como lo haces para generar su salida en "HTML" común .. usas tu mysql_fech_array() por ejemplo y lo recorres con un bucle ("while()") .. ahí vas generando por iteracción del bucle una "línea" en ese .txt que previamente abriras con fopen() en modo escritura y definiras su nombre. Recuerda que el "salto de línea" en archivos de texto plano es el "código": \n .. esa cadena (dos caracteres al fin y al cabo para PHP) tendrás que añadirlos a tu cadena que compones con los campos que obtienes de tu BBDD, concatenados separandolos por comas y al final el salto de línea ..

A grandes rasgos sería algo así:

Código PHP:
<?
// etc .. conecta a tu BBDD .. etc ...

// Genero los datos que van a ir a parar al archivo sobre una variable .. La uso como "acomulador" añadiendo "lineas" al mismo ..
$lineas='';
while (
$row=mysql_fetch_array($resultado)){
  
$lineas .= $row['campo1'].",".$row['campoN']."\n";
}

// Y escribo el archivo ...
$fp=fopen("archivo.csv","+a"); // No me acuerdo del modo para escritura .. revisalo
fwrite($fp,$lineas);
fclose($fp);
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 18/11/2006, 18:03
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
gracias por la ayuda

gracias man la verdad me ayudo bastante el codigo que me diste sabes estube realizando mi reporte y choque con otro problemilla ahora lo que nesecito por fa es lo siguiente,
como puedo agarrar el valor de un cookie para que asi pueda mostrar mi usuario?

Código PHP:
$this->SetFont('Arial','I',7);
    
$this->Cell(10,0,'Usuario:' EN ESTA PARTE QUIERO MOSRAR MI COOKIE ,0,0,'C'); 
gracias man por todo ayudame en esto por fa
  #8 (permalink)  
Antiguo 18/11/2006, 18:09
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Hola,

En las FAQS de este subforo hay una entrada explicando como se usan las cookies en PHP.


Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #9 (permalink)  
Antiguo 18/11/2006, 18:39
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
ok

ok
pero en que parte exactamente, la verdad no lo encuentro me ayudas please gracias man
  #10 (permalink)  
Antiguo 18/11/2006, 19:06
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Hola,

En las FAQS de este subforo (Cuando abres el subforo de PHP, en la parte superior, los primeros temas... hay uno que dice FAQ)... si lo miras, uno de los mensajes dice claramente como se usan las cookies en PHP.

__________________
Federico.

Mi página: www.jourmoly.com.ar
  #11 (permalink)  
Antiguo 18/11/2006, 19:18
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
Pregunta Ok

Bueno gracias, eso de los coockies se manejarlos, pero por alguna razon no me funcionan cuando utilizo la libreria fpdf.php, talvez sea otra forma, es lo que quiero saber, Como mostrar los datos en un cookie, en un archivo pdf, utilizando la libreira fpdf.

Gracias
  #12 (permalink)  
Antiguo 19/11/2006, 19:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por ikaroraul Ver Mensaje
Bueno gracias, eso de los coockies se manejarlos, pero por alguna razon no me funcionan cuando utilizo la libreria fpdf.php, talvez sea otra forma, es lo que quiero saber, Como mostrar los datos en un cookie, en un archivo pdf, utilizando la libreira fpdf.

Gracias
Si dices que las cookies las manejas . .como es el código que usas o pretendes usar cuando lo aplicas a "FPDF".

Realmente a los parámetros de FPDF tu le pasas tus strings (cadenas) . .o valores en general ... incluido tus llamadas a cookies, sesiones o cualquier tipo de variable o función.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 09:21.