Foros del Web » Creando para Internet » Diseño web »

Funcion para generar reporte en php y javascrip

Estas en el tema de Funcion para generar reporte en php y javascrip en el foro de Diseño web en Foros del Web. hola buen dia. espero me puedan ayudar; la situacion es la siguiente tengo dos cajas de texto en mi paguina donde capturo fecha inicio y ...
  #1 (permalink)  
Antiguo 22/10/2010, 09:08
 
Fecha de Ingreso: octubre-2010
Mensajes: 53
Antigüedad: 13 años, 6 meses
Puntos: 0
Mensaje Funcion para generar reporte en php y javascrip

hola buen dia.

espero me puedan ayudar; la situacion es la siguiente tengo dos cajas de texto en mi paguina donde capturo fecha inicio y fecha fin y un boton que la presionar sobre el me genere un reporte donde me muestre la fecha, el nombre, el monto, sugerenciasy detalles la consulta ya la tengo hecha, pero no se como mostrar esa consulta en un grid o tabla en mi misma paguina, algo mas es que si el rango de fechas trae mas de una fecha debe generar la tabla de acuerdo al numero de fechas consultadas

espero me ayuden y que me aya explicado bien a si el tema debeir en algun otro post no dejen de decirmelo.
por favor es importante
cualquier aporte es buno


gracias
  #2 (permalink)  
Antiguo 22/10/2010, 10:15
Avatar de dargorg  
Fecha de Ingreso: octubre-2010
Ubicación: Castellón (España)
Mensajes: 188
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Funcion para generar reporte en php y javascrip

La solución la tienes con la función mysql_fetch_array para recorrer todos los resultados de tu consulta y así poder generar la tabla con los resultados. De todas maneras ¿Podrías enseñarnos algo de código para que podamos ayudarte?
  #3 (permalink)  
Antiguo 22/10/2010, 13:51
 
Fecha de Ingreso: octubre-2010
Mensajes: 53
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Funcion para generar reporte en php y javascrip

Hola

la verdad no tengo ningun codigo para generar el reporte

no se como hacerle alguna idea
lo unico que tengo es inicio de secion y la eleccion de la fecha hasta ai, y la consulta que esta en postgresql

asi que codigo para generar el reporte no tengo por qe no tengo idea como hacerlo soy un novao en todo esto
  #4 (permalink)  
Antiguo 22/10/2010, 15:27
Avatar de dargorg  
Fecha de Ingreso: octubre-2010
Ubicación: Castellón (España)
Mensajes: 188
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Funcion para generar reporte en php y javascrip

Lo que tienes que hacer es:

Código:
<table>

<?php
$consulta = pg_query("tu consulta para obtener los datos);
while ($datos = pg_fetch_array($consulta))
{
    echo "<tr>";
    // Muestras la fila de la tabla con los datos
    echo "<td>{$dato['campo1']}</td>";
    echo "<td>{$dato['campo2']}</td>";
    echo "<td>{$dato['campo3']}</td>";
    echo "</tr>";
}
?>

</table>
Un saludo,
  #5 (permalink)  
Antiguo 22/10/2010, 16:08
 
Fecha de Ingreso: octubre-2010
Mensajes: 53
Antigüedad: 13 años, 6 meses
Puntos: 0
Información Respuesta: Funcion para generar reporte en php y javascrip

Hola

enteindo tu propuesta; pero el caso es que tengo una pagina yamada login.php,validar.php y una que se llama tienda aqi creo mi formulario donde capturo la fechas te paso el codigo del formulario.

$fecha = date('d/m/Y');

echo '<table cellspacing="0" cellpadding="0" border="1" class="Header" >
<td class="HeaderLeft" align="center">
<th align="center">Tiendas </th>
<td class="HeaderRight">
</table>';
?>

<form action="" method="post" name="formcaptura">
<table align="center" class="Record" cellspacing="0" cellpadding="0" style="empty-cells: show;">
<tr class="Controls">
<td align="left" valign="top"><b>Fecha Inicial</b>&nbsp;
<?php
echo'<input type="text" name="fechaInicial" id="fechaInicial" value="'.$fecha.'" size="10" maxlength="10" onblur="return ValidarFecha(this);" onkeypress="return SoloFechas(event);" >';
?>
&nbsp;<a href="javascript:showDatePicker('DatePicker','form captura','fechaInicial');"><img src="./style/Images/DatePicker.gif" border="0"></img></a>
</td>

<td align="left" valign="top" colspan="0"><b> Fecha Final</b>&nbsp;
<?php
echo' <input type="text" name="fechaFinal" id="fechaFinal" value="'.$fecha.'" size="10" maxlength="10" onblur="return ValidarFecha(this);" onkeypress="return SoloFechas(event);"></input>';
?>
&nbsp;<a href="javascript:showDatePicker('DatePicker','form captura','fechaFinal');"><img src="./style/Images/DatePicker.gif" border="0"></img></a>
</td>
<td class="Bottom" colspan="2" align="right">
<input name="{Button_Name}" type="submit" value="Entrar" class="Button">
</td>
</table>

</form>
<?php

} //FIN SI EL USUARIO ES VALIDO
else{
session_destroy();
echo '<script language="javascript" type="text/javascript">window.location="login.php";</script>';
}
?>
ahora tengo un archivo que se llama funciones.php que es donde quiero hacer la consulta y generar la tabla y llamar la funcion desde mi boton que tengo en mi formulario de la pagina tienda y ai se deben mostrar los resultados.

si hay otra solucion por favor haslo saber yyebo mucho tiempo en tratar de hacer esto soy muy novato

gracias
  #6 (permalink)  
Antiguo 22/10/2010, 16:27
 
Fecha de Ingreso: octubre-2010
Mensajes: 53
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Funcion para generar reporte en php y javascrip

espero que si puedan ayudarme necesito usar java script o se puede solcionar sin java script
  #7 (permalink)  
Antiguo 22/10/2010, 17:52
Avatar de dargorg  
Fecha de Ingreso: octubre-2010
Ubicación: Castellón (España)
Mensajes: 188
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Funcion para generar reporte en php y javascrip

Lo primero, te comento: no sé que editor gastas, pero desde luego te recomiendo que lo sustituyas por otro ya que según veo no te está ayudando nada a crear código válido. Tenías etiquetas HTML sin cerrar, otras mal cerradas, otras que están obsoletas... etc.

Lo segundo es que por lo que veo, abusas del echo de PHP. Si sólo lo quieres para obtener el valor de una variable, hacer cosas así no tiene sentido:

Código PHP:
<?php
echo'<input type="text" name="fechaInicial" id="fechaInicial" value="'.$fecha.'" size="10" maxlength="10" onblur="return ValidarFecha(this);" onkeypress="return SoloFechas(event);" >';
?>
En vez de la línea anterior, ¿porqué no haces esto?
Código PHP:
<input type="text" name="fechaInicial" id="fechaInicial" value="<?=$fecha?>" size="10" maxlength="10" onblur="return ValidarFecha(this);" onkeypress="return SoloFechas(event);" >
Fíjate que con <?=$fecha?> ya obtenemos el valor de la variable. Esto te ayudará a no cometer fallos a causa de tener que fijarte en escapar todas las comillas y te generará un código más limpio y más fácil de entender.


Bueno, con tu cuestión, es tan fácil como crearte un fichero PHP donde recojas del formulario las variables que necesites y generes la tabla a partir de la consulta como te comenté en el post anterior. Lo único que tendrías que hacer en tu código sería:

Código PHP:
<?php $fecha date('d/m/Y'); ?>

<table cellspacing="0" cellpadding="0" border="1" class="Header">
    <td class="HeaderLeft" align="center">
    <th align="center">Tiendas</th>
    <td class="HeaderRight"></td>
</table>

<form action="archivo_php_que_ejecutara_la_accion.php" method="post" name="formcaptura">
    <table align="center" class="Record" cellspacing="0" cellpadding="0" style="empty-cells: show;">
        <tr class="Controls">
            <td align="left" valign="top">
                <b>Fecha Inicial</b>
                <input type="text" name="fechaInicial" id="fechaInicial" value="<?=$fecha?>" size="10" maxlength="10" onblur="return ValidarFecha(this);" onkeypress="return SoloFechas(event);" >
                <a href="javascript:showDatePicker('DatePicker','form captura','fechaInicial');"><img src="./style/Images/DatePicker.gif" border="0" /></a>
            </td>
            <td align="left" valign="top" colspan="0">
                <b>Fecha Final</b>
                <input type="text" name="fechaFinal" id="fechaFinal" value="<?=$fecha?>" size="10" maxlength="10" onblur="return ValidarFecha(this);" onkeypress="return SoloFechas(event);">
                <a href="javascript:showDatePicker('DatePicker','form captura','fechaFinal');"><img src="./style/Images/DatePicker.gif" border="0" /></a>
            </td>
            <td class="Bottom" colspan="2" align="right">
                <input name="{Button_Name}" type="submit" value="Entrar" class="Button">
            </td>
    </table>
</form>

<?php

//FIN SI EL USUARIO ES VALIDO
else{
    
session_destroy();
    echo 
'<script language="javascript" type="text/javascript">window.location="login.php";</script>';
}
?>
Lo que hemos hecho ha sido modificar la etiqueta form, modificando el action para que dirija al fichero que realizará la acción que desees con los datos del formulario (además, si te fijas, te lo he modificado un poquito para no abusar tanto del echo y te he cerrado etiquetas que no tenías bien cerradas):

Código:
<form action="archivo_php_que_ejecutara_la_accion.php" method="post" name="formcaptura">


Un saludo y espero haberte ayudado. Si tienes alguna duda más no dudes en preguntar.
  #8 (permalink)  
Antiguo 23/10/2010, 08:32
 
Fecha de Ingreso: octubre-2010
Mensajes: 53
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Respuesta: Funcion para generar reporte en php y javascrip



Hola

si esa es una forma y me crea otra paguina donde me muestra los resultados; lo que necesito es que al pulsar el boton entrar se cargue el reporte en esta misma pagina debajo del formulario espero me entiedas como hago esto. la verdad sonmuy nuevo en esto y es importante para mi

gracias
  #9 (permalink)  
Antiguo 23/10/2010, 12:52
 
Fecha de Ingreso: octubre-2010
Mensajes: 53
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Respuesta: Funcion para generar reporte en php y javascrip

HOLA

Lohise de la forma que me sugeriste el unico problema es que no me muestra los datos

te dejo el codigo para que me orientes en que estoy fallado

solo me muestra el encabezado con los nombres d ela columna

<?php
require_once('config.php');

///////////////////////////////////
$fecha1= $_POST['fechaInicial'];
$fecha2= $_POST['fechaFinal'];

$idConexion = pg_connect($_SESSION['db_conection']);

$consulta = "SELECT tiendas.nombre,retarje.fechatr::DATE, to_char(div(sum(retarje.monto),100),'999,999,999,9 9') as total_monto
FROM oxxo.tiendas,oxxo.retarje WHERE tiendas.idtienda = retarje.tienda AND tiendas.idplaza = retarje.plaza
AND fechatr::DATE BETWEEN '$fecha1' AND '$fecha2' GROUP BY fechatr::DATE,nombre ORDER BY fechatr::DATE DESC";

$result = pg_query($consulta);

if($result==FALSE)
echo "<BR>Hay errores en la consulta sql";
else
echo "<BR>Consulta sql satisfactoria<P>";

echo "<table width=100% border=3 cellpadding=2 cellspacing=0 bordercolor=#C2DFEF align=center>
<TR>
<TH WIDTH=10%>Nombre</TH>
<TH WIDTH=10%>Fecha</TH>
<TH>Monto</TH>
</TR>";


while($row = pg_fetch_array($result))
{
echo "<TR>
<TD WIDTH=10% ALIGN=CENTER>$row[nombre]</TD>
<TD WIDTH=25% ALIGN=CENTER>$row[fechatr]</TD>
<TD WIDTH=20% ALIGN=RIGHT>$row[total_monto]</TD>
</TR>";
}
echo "</TABLE>";
//cerrar la conexi&oacute;n
pg_close($idConexion);
?>

gracias
  #10 (permalink)  
Antiguo 23/10/2010, 22:12
Avatar de dargorg  
Fecha de Ingreso: octubre-2010
Ubicación: Castellón (España)
Mensajes: 188
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Funcion para generar reporte en php y javascrip

Modifica esto
Código:
echo "<TR>
<TD WIDTH=10% ALIGN=CENTER>$row[nombre]</TD>
<TD WIDTH=25% ALIGN=CENTER>$row[fechatr]</TD>
<TD WIDTH=20% ALIGN=RIGHT>$row[total_monto]</TD>
</TR>";
por esto
Código:
?>
<TR>
<TD WIDTH=10% ALIGN=CENTER><?php echo $row['nombre']; ?></TD>
<TD WIDTH=25% ALIGN=CENTER><?php echo $row['fechatr']; ?></TD>
<TD WIDTH=20% ALIGN=RIGHT><?php echo $row['total_monto']; ?></TD>
</TR>
<?php

Si con esto no te funciona... es porque no obtiene ningun resultado en la consulta. Para comprobarlo haz:
Código:
echo pg_num_rows($consulta);
Si te da 0 es porque no hay resultados.

Un saludo y que tengas suerte.
  #11 (permalink)  
Antiguo 25/10/2010, 11:39
 
Fecha de Ingreso: octubre-2010
Mensajes: 53
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Funcion para generar reporte en php y javascrip

Hola Buen dia
Bueno tienes razon mi consulta no arroja ningun dato ya intente coregirlo qpe no funciona sigue en lo mimso, en la consola de postgresql si me arroja datos y aqui en php no aque se debe te paso mi consulta ´para ver s mepuedes ayudar gracias.

$consulta = "SELECT tiendas.nombre,retarje.fechatr::DATE, to_char(div(sum(retarje.monto),100),'999,999,999,9 9') as total_monto
FROM tiendas,retarje WHERE tiendas.idtienda = retarje.tienda AND tiendas.idplaza = retarje.plaza
AND fechatr::DATE BETWEEN '".$fecha1."' AND '".$fecha2."' GROUP BY fechatr::DATE,nombre ORDER BY fechatr::DATE DESC";

gracias por tu ayuda me estas sirviendo de mucho
  #12 (permalink)  
Antiguo 25/10/2010, 13:29
Avatar de dargorg  
Fecha de Ingreso: octubre-2010
Ubicación: Castellón (España)
Mensajes: 188
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Funcion para generar reporte en php y javascrip

Lo siento mucho, pero sin tener información de las tablas (estructura y datos) no puedo ayudarte...

Un saludo,
  #13 (permalink)  
Antiguo 25/10/2010, 16:55
 
Fecha de Ingreso: octubre-2010
Mensajes: 53
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Respuesta: Funcion para generar reporte en php y javascrip

Hola bueno creo que la consulta ya anda bien, eso creo
ahora te comento esos datos que tengo necesitos filtrarlos a la misma paguina para ello e creado una funcion donde genero la consulta y creo mi tabla y otra Funcion en javascrip que recibe la peticion y se encarga de llamar al objeto ajax para la ejecucion de la consulta, bueno la verdad no tengo conocimiento en javascrip y muy poco en php, asi que mi codigo no me esta generando ningun resultado. dejo el codigo aver si hay algo que puedan aportar

Código PHP:
function filtro_fecha($filtro_sel)
      {
       
$argumento explode("@"$filtro_sel);
       
//2009-01-01 2010-12-31
       
       
$argumento[0] = FormatoFecha($argumento[0]);
       
$argumento[1] = FormatoFecha($argumento[1]);
     
       
$consulta "SELECT tiendas.nombre,retarje.fechatr::DATE, to_char(div(sum(retarje.monto),100),'999,999,999,99') as total_monto 
       FROM oxxo.tiendas,oxxo.retarje WHERE tiendas.idtienda = retarje.tienda AND tiendas.idplaza = retarje.plaza  
       AND fechatr::DATE BETWEEN  '"
$argumento[0] . "' >= fechaInicial  and '".$argumento[0]."' <= fechaFinal and '"$argumento[1] . "' >= fechaInicial  and '".$argumento[1]."' <= fechaFinal  
       GROUP BY fechatr::DATE,nombre ORDER BY fechatr::DATE DESC"
;
       
$idConexion pg_connect($_SESSION['db_conection']);       
       
$listado pg_query($consulta) or die(pg_last_error($idConexion));
        
       
      
$strTitulo "Reporte";
      return 
reporte$listado$strTitulo );
    }
    
     function 
FormatoFecha($Fecha)
    {
        
$Fecha substr($Fecha,6,4)."-".substr($Fecha,3,2)."-".substr($Fecha,0,2);
        return 
$Fecha;
            
    }
  
    function 
reporte($listado$strTitulo )
    {
        
$salida "<div style=\"border: solid 0px black; height: 445px; overflow: auto; background-color: #BDCDDB;\">";
       
$salida .= "<br/><table id=\"ilumi\" width=\"70%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"table-layout: ;\">
                                            <tr>
                                                <td valign=\"top\">
                                                     <table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"Header\">
                                                        <tr>
                                                             <td class=\"HeaderLeft\"></td> 
                                                                <th>$strTitulo</th>
                                                             <td class=\"HeaderRight\"></td> 
                                                        </tr>
                                                     </table>"
;
                                                     
       
$salida .= '<table class="Grid" >';
       if ( 
$listado ){
           
$NumRegistro pg_num_rows$listado );
                if (
$NumRegistro 0)
                {
                   
$salida .=' <table class="Grid" cellspacing="\" cellpadding="" style="empty-cells: show;">
                                                                    <tr class="Caption">
                                                                        <th width="100">Tienda</th>
                                                                        <th width="100">fecha</th>
                                                                        <th width="100">Monto</th>                                                                       
                                                                    </tr>
                                                                </table>'
;
                    
                    
$salida .= "<div style=\"border: solid 0px black; height: 387px; overflow: auto; background-color:#BDCDDB;\">";
        
                    
$salida .= "<table width=\"70%\"  class=\"Grid\" cellspacing=\"\" cellpadding=\"\" style=\"empty-cells: show;\"> ";
                    
$salida .= '<tr class="Row">';
                    
                    while(
$row pg_fetch_assoc$listado ) )
                    {                                                       
                          
$salida .= '<tr class="Row">';
                                                                    
                                    
//$strVarEco = $aryRegistros["economico"];
                                                                    
                                    //NOMBRE    
                                    
if (!empty($row["nombre"]))          
                                    
$salida .= '<td width="100" style="text-align:right;">'.$row["nombre"].'</td>'
                                    else
                                    
$salida .= '<td width="100" style="text-align:right;"><font color="#f7f7f7">.</font></td>';
                                                                        
                                    
//FECHA    
                                    
if (!empty($row["fechatr"]))
                                    {
                                        
$salida .= '<td width="100" style="text-align:right; background-color: #f7f7f7;">'.$row["fechatr"].'</td>';
                                    }
                                    else
                                    
$salida .= '<td width="100" style="text-align:right;"><font color="#f7f7f7">.</font></td>';
                                                                            
                                    
//MONTO 
                                    
if (!empty($row["total_monto"]))     
                                    
$salida .= '<td width="100" style="text-align:right;">'.$row["total_monto"].'</td>';
                                    else
                                    
$salida .= '<td width="100" style="text-align:right;"><font color="#f7f7f7">.</font></td>';                                                                        
                                    
$salida .= '</tr>'."\n";
                          }  
//FIN WHILE
                                                                
                          
$salida .= '</tr>'."\n"
                     return 
$salida;          
                }
                    
            }
              
        }   
         
        
     
//$sajax_request_type = "GET";      
sajax_init();
sajax_export("filtro_fecha");
sajax_handle_client_request(); 

y esto es en javascript

function filtro_fecha()
{

var sel_fecha_ini = document.getElementById("fechaInicial").value;
var sel_fecha_fin = document.getElementById("fechaFinal").value;

//(document.getElementById("fecha_ini").value + "@" + document.getElementById("fecha_fin").value + "@" + document.getElementById("org").value );
x_filtro_fecha(document.getElementById("fechaInici al").value + "@" + document.getElementById("fechaFinal").value , contenedorFiltro3 );
}


function contenedorFiltro3( respuesta )
{
document.getElementById("x_salida").innerHTML = respuesta;
}

en el voton con el evento onclik

<input name="{Button_Name}" type="submit" value="Entrar" class="Button" onclick="filtro_fecha();">

gracias por la ayuda
  #14 (permalink)  
Antiguo 26/10/2010, 15:35
 
Fecha de Ingreso: octubre-2010
Mensajes: 53
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Funcion para generar reporte en php y javascrip

hola

bien creo que ahora me surgio otro detalle cuando ejecuto todo mi paguina al final aparese el siguiente error

session () is just finished there is another session in the background
do you want IDE to switch to this session?

no se no se cual sea el error podrian darme una idea de como corregirlo
necesito ayuda para entender esto

Etiquetas: funcion, php, reporte
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 20:59.