Saludos amigos,
He adelantado bastante con este proceso y ya tengo definida la función que determina el criterio de busqueda, esta es la función se las dejo por si les sirve de algo.
Código:
function defcriterio()
{
var selected = $jMaQma("#criterio option:selected");
var msg = "";
if(selected.val() != 0)
{
var variable = selected.val();
switch (variable)
{
case "1":
$jMaQma("#country").attr("disabled",true);
$jMaQma("#state").attr("disabled",true);
$jMaQma("#city").attr("disabled",true);
$jMaQma("#rubro").attr("disabled",true);
$jMaQma("#searchfor").attr("disabled",false);
break;
case "2":
$jMaQma("#country").attr("disabled",false);
$jMaQma("#state").attr("disabled",true);
$jMaQma("#city").attr("disabled",true);
$jMaQma("#rubro").attr("disabled",true);
$jMaQma("#searchfor").attr("disabled",true);
cargar_paises();
break;
case "3":
$jMaQma("#country").attr("disabled",true);
$jMaQma("#state").attr("disabled",true);
$jMaQma("#city").attr("disabled",true);
$jMaQma("#rubro").attr("disabled",false);
$jMaQma("#searchfor").attr("disabled",true);
cargar_rubro();
break;
}
}
else
{
msg = "El valor seleccionado no es valido";
}
$("#msg").html(msg);
}
Ahora bien una vez que el usuario ya ha seleccionado el criterio tengo una función que hace la busqueda tomando en cuenta ese criterio, esta es la función:
Código:
function defbusqueda()
{
var selected = $jMaQma("#criterio option:selected");
var selpais = $jMaQma("#country option:selected");
var seledo = $jMaQma("#state option:selected");
var selciu = $jMaQma("#city option:selected");
var xrubro = $jMaQma("#rubro option:selected");
if(selected.val() != 0)
{
if(selected.val() == "1")
var cliente = $jMaQma("#searchfor").val();
var parametros = {
"bus_por" : 1,
"searchfor" : cliente
};
$.ajax({
data: parametros,
url: 'busca_reg.php',
type: 'post',
beforeSend: function () {
$jMaQma("#capaAjax").html("<div align='center'>Cargando...</div>");
},
success: function (response) {
$jMaQma("#capaAjax").html(response);
}
});
Este es el contenido del php que estoy llamando con el AJAX.
Código PHP:
<?php
if(isset($_POST['bus_por']))
{
extract($POST);
$bus_por = filter_var($bus_por, FILTER_SANITIZE_NUMBER_INT);
$searchfor = filter_var($searchfor, FILTER_SANITIZE_STRING);
include_once("clases/class.mysql.php");
switch($bus_por)
{
case 1:
{
$where = "WHERE clientname LIKE '%" . $database->getEscaped($searchfor) . "%'";
break;
}
case 2:
{
$where = "WHERE country LIKE '%" . $database->getEscaped($searchfor) . "%'";
break;
}
case 3:
{
echo "Hacer el query por pais - estado";
break;
}
case 4:
{
echo "Hacer el query por pais - estado - ciudad";
break;
}
case 5:
{
$where = "WHERE rubro LIKE '%" . $database->getEscaped($searchfor) . "%'";
break;
}
}
$database->setQuery("SELECT * FROM mytable $where ORDER BY client ASC LIMIT " . $limitstart . ", " . $limit);
$clients = $database->loadObjectList();
}
?>
Ahora bien el problema es que al ejecutarse la función el sistema me muestra el siguiente error:
Warning: extract() expects parameter 1 to be array, null given in /home/busca_reg.php on line 4
Fatal error: Call to a member function setQuery() on a non-object in /home/busca_reg.php on line 38
Alguien me podrá dar alguna luz acerca de como resolver el tema?
Desde ya mil gracias....