Ver Mensaje Individual
  #28 (permalink)  
Antiguo 17/02/2010, 18:11
jesusjj
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Un consejo para aplicación de gestión, gracias

Buenas:

Me voy a la cama casi que ya, pero os pongo al día de los progresos ;)

Creé una nueva función XAJAX y la registré. Llamé a esta función desde el evento onClick y muestra la tabla :D. Pongo los códigos y comento los nuevos problemas.

Nueva función (Se encuentra en un fichero aparte que cargo al principio):

Código PHP:
function recargaTabla() {
    
    // se instancia el objeto para recibir la respuesta
    $respuesta2 = new xajaxResponse();
      
    // conectamos con la BBDD
    $mysql = new MySQL('localhost','root','','gestionClientes');
    $sql = "select * from LM_tmpPresupuestos";
            
    $consulta = $mysql->consulta($sql);
                     
    $total = $mysql->num_rows($consulta);
    
    ob_start();

?>    
    <table id="tb_altaPrto">
                    <thead>
                        <tr>
                            <th width="100px">Rf.</th>
                            <th>Detalle</th>
                            <th width="40px">Cant.</th>
                            <th width="30px">IVA</th>
                            <th width="60px">&euro;/Ud.</th>
                        </tr>
                    </thead>
                    <tfoot>
                        <tr>
                            <th colspan="4">Total elementos a&ntilde;adidos:</th>
                            <th class="al_dch"><?php echo $total?></th>
                        </tr>
                    </tfoot>
                    <tbody>
<?php                    
    
if($total<1) {
?>
                        <tr>
                            <td colspan="5">No hay registrado ning&uacute;n detalle.</td>
                        </tr>
<?php                
            
}else{
                
// Comprobamos total de registros
                // echo $total;
            
                // Se inicia el bucle para mostrar el listado
                
while($resultados $mysql->fetch_array($consulta)) {
?>
                        <tr>
                            <td class="al_ctr"><?php echo $resultados['Referencia']; ?></td>
                            <td><?php echo $resultados['Detalle']; ?></td>
                            <td class="al_dch"><?php echo $resultados['Cantidad']; ?></td>
                            <td class="al_ctr"><?php echo $resultados['IVA']; ?></td>
                            <td class="al_dch"><?php echo $resultados['PrecioUnitario']; ?></td>
                        </tr>
<?php                    
                
}
            }
?>
                    </tbody>                    
                </table>
<?php             
    
    
// Cerramos la captura del texto
    
$respuesta2 -> assign('capaTablaDetalle''innerHTML'ob_get_clean());
    
    
// devolvemos la respuesta
    
return $respuesta2;

}

Llamadas desde el onClick:

Código PHP:
<input type="button" onclick="xajax_procesarFormPrto(xajax.getFormValues('altaDetalle')); xajax_recargaTabla(); return false;" value="a&ntilde;adir detalle" id="anadir" name="anadir" class="buttons" /> 
El tema, es que cuando le doy al botón, llama a la primera función, la encargada de registrar en BBDD el registro. Al llamar a la segunda, aún no captura los datos registrados, así que si es el primero, me muestra la tabla vacía e imagino, a falta de hacer más pruebas, que siempre irá un registro por detrás.

Al principio, al entrar en la página, tampoco me muestra la tabla vacía, con el 'if' de si no hay registros. Hasta que no pincho en el botón, no aparece.

Como 'apaño', se me ocurre poner un botón refrescar, que es una auténtica chapuza, pero sería efectivo y funcional hasta que dé con cómo cargar y refrescar la tabla en tiempo real.

Saludos y buenas noches.