Tengo el siguiente código, que me retorna diferentes resultados de la DB, de acuerdo a los campos seleccionados en una form anterior:
Código PHP:
$select = sprintf("SELECT
establecimientos.id,
establecimientos.de,
establecimientos.numero,
establecimientos.nombre,
establecimientos.direccion,
establecimientos.tel1,
establecimientos.mail,
tipos.tipo,
barrios.barrio ");
$from = sprintf("FROM
establecimientos
LEFT JOIN tipos ON establecimientos.tipo = tipos.id
LEFT JOIN barrios ON establecimientos.idbarrio = barrios.id ");
$where = ("WHERE establecimientos.id > 0 ");
if (isset($_POST['txtBusqueda']))
{
$where .= ("AND establecimientos.nombre LIKE '%" . $_POST['txtBusqueda'] . "%'
OR establecimientos.direccion LIKE '%" . $_POST['txtBusqueda'] . "%' ");
}
if (intval($_POST['selTipo']) > 0)
{
$where .= ("AND establecimientos.tipo = '" . intval($_POST['selTipo']) . "'");
}
if (intval($_POST['selBarrio']) > 0)
{
$where .= ("AND establecimientos.idbarrio = '" . intval($_POST['selBarrio']) . "'");
}
$order = sprintf("ORDER BY
establecimientos.id ASC",$connect);
//lets make a loop and get all news from the database
$query = $select.$from.$where.$order;
$result = mysql_query($query);
while($myrow = mysql_fetch_assoc($result))
El tema de la relación con el formulario anda perfecto, el tema es que solamente me toma el primer campo (en este caso txtBusqueda), pero los demás no...
Si borro ese primer campo, y queda como primero el selTipo que es una lista desplegable, funciona solamente esa (O sea que de acá deduzco que anda bien el $where ese, el problema es que me toma solamente el primero que figura...
Cómo puedo hacer para filtrar por los 3? (Y en un futuro, más)
Gracias!!!!