Buenas, tal vez este algo perdido y lo que quisiera hacer no es posible, pero tengo este caso:
un div llamado "formulario" y otro "resultado". El formulario es llenado y se manda a procesar a precesarBusqueda.php y mi idea es que se procese y se actualice "resultado" sin que se actualice toda la pagina.
Lo que hice fue lo siguiente:
index.php: Código PHP:
<?php
include('includes/libs/conexion.php');
$con = conectar();
require_once('includes/xajax/xajax.inc.php');
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();
include('includes/libs/selectGenerador.php');
include('includes/libs/precesarBusqueda.php');
$xajax->registerFunction("imprimeResultado");
$xajax->registerFunction("selectPlato");
$xajax->processRequests();
?>
precesarBusqueda.php Código PHP:
function getIdTiposPlatoTipoSubmenu(){
$idComida = $_POST["comida"];
$idPlato = $_POST["plato"];
$query = "SELECT t.idTiposPlatoTipoSubmenu FROM tiposplatotiposubmenu t
WHERE (t.idTipoplato = $idPlato) AND (t.idTipoSubMenu = $idComida)";
# echo $query;
$res = mysql_query($query);
$row = mysql_fetch_array($res);
return $row[0];
}
function alimentosParaPlatoSubmenu(){
$idPlatoSubmenu = getIdTiposPlatoTipoSubmenu();
$query = "SELECT a.Alimento, COUNT( a.Alimento)
FROM alimentosdemenudiario amd INNER JOIN alimentos a
ON amd.idAlimento = a.idAlimento
WHERE amd.idtiposplatotiposubmenu = $idPlatoSubmenu
GROUP BY a.Alimento";
#echo $query;
$res = mysql_query($res);
return $res;
}
function imprimeResultado(){
$respuesta_resultado = new xajaxResponse('ISO-8859-1');
$recurso = alimentosParaPlatoSubmenu();
$tabla = "<table>";
while ($row = mysql_fetch_array($recurso)){
$tabla .= "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";
}
$tabla .= "</table>";
header("Location: index.php");
$respuesta_resultado ->addAssign("content_data","innerHTML",$tabla);
return $respuesta_resultado;
}
formulario:
Código HTML:
Ver original<form name="busqueda" method="POST" action="includes/libs/precesarBusqueda.php"> <table class="formulario"> <td><select name="comida" onchange="xajax_selectPlato(this.value)"><?php selectComida(); ?></select></td> <td><button type="submit" onclick="xajax_imprimeResultados()">Filtrar
</button></td>
El hecho es que al ejecutar el botón del form, va a precesarBusqueda.php y queda la pagina en blanco.
Cómo puedo resolver esto ?.
Desde ya muchas gracias.