Buenas noches:
Al final lo estoy haciendo con XAJAX y todo ok, salvo una cosilla.
La inserción en BBDD la hace de maravilla, pero no soy capaz de hacer que se refresque la tabla que recoge los datos de la inserción.
Adjunto una captura y lo comento:
La idea es que tras rellenar el form inferior, se registre en BBDD y actualice automáticamente la tabla de arriba en plan refresh.
He visto varios artículos en la web, casi todos añadiendo líneas. Yo lo tengo montado en plan consulta y rellenando la tabla con un while:
Código PHP:
<?php
$sql = "select * from lm_tmppresupuestos";
$consulta = $mysql->consulta($sql);
$total = $mysql->num_rows($consulta);
?>
<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">€/Ud.</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="4">Total elementos añ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ú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
}
}
Lo que no sé cómo hacer es que me vuelva a lanzar la consulta y me refresque la tabla sin recargar toda la página, ya que tiene más elementos.
La función xajax que he creado es:
Código PHP:
function procesarFormPrto($form_entrada) {
extract($form_entrada);
// conectamos con la BBDD
$mysql = new MySQL('localhost','root','','gestionclientes');
$sql = "insert into LM_tmpPresupuestos values ('',
'".$form_entrada["referencia"]."',
'".$form_entrada["detalle"]."',
'".$form_entrada["iva"]."',
'".$form_entrada["precio"]."',
'".$form_entrada["cantidad"]."'
)";
$consulta = $mysql -> consulta($sql);
// se instancia el objeto para recibir la respuesta
$respuesta = new xajaxResponse();
// devolvemos la respuesta
return $respuesta;
}
Espero que me puedan orientar, muchas gracias.
Saludos