Foros del Web » Programando para Internet » PHP »

Buscador multicampo no funciona

Estas en el tema de Buscador multicampo no funciona en el foro de PHP en Foros del Web. Hola amigos tengo preparado un buscador con 3 listas desplegables: Comarca,tipo, capacidad, este formulario hace la llamada a otra pagina que muestra los resultados y ...
  #1 (permalink)  
Antiguo 20/06/2011, 11:41
 
Fecha de Ingreso: junio-2011
Ubicación: cantabria
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Buscador multicampo no funciona

Hola amigos tengo preparado un buscador con 3 listas desplegables: Comarca,tipo, capacidad, este formulario hace la llamada a otra pagina que muestra los resultados y en la quetengo metido el siguiente código:
Según Dreamweaver tengo varios errores, os agradecería que me ayudaseís,, ya que me estoy iniciando en esto, Gracias

<? php

...
// prepara el acceso a la base de datos
...
// prepara filtro por comarca
if ( isset($comarca)) {
$filtro = " WHERE (comarca LIKE '$comarca ')"
} else {
$filtro = ""
}
// prepara filtro por tipo de casa
if ( isset($tipo)) {
if ($filtro == "") {
$filtro = " WHERE (tipo LIKE '$tipo')"
} else {
$filtro .= " AND (tipo LIKE '$tipo')"
}
}
// prepara filtro por capacidad
if ( isset($capacidad)) {
if ($filtro == "") {
$filtro = " WHERE (tipo capacidad >= $capacidad )"
} else {
$filtro .= " AND (tipo capacidad >= $capacidad )"
}
}
// genera la variable para la consulta SQL
$sql = " SELECT * FROM casas '$filtro' ORDER BY comarca ASC"
...
// ejecutar la búsqueda SQL
...
?>
  #2 (permalink)  
Antiguo 20/06/2011, 12:47
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 9 meses
Puntos: 58
Respuesta: Buscador multicampo no funciona

Hola Felulofe

¿Podrías poner cuales son los errores que te salen?
  #3 (permalink)  
Antiguo 21/06/2011, 12:24
 
Fecha de Ingreso: junio-2011
Ubicación: cantabria
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Buscador multicampo no funciona

Es en Deramweaver y te pongo un icono en cada linea que marca error:

<? php

...
// prepara el acceso a la base de datos
...
// prepara filtro por comarca
if ( isset($comarca)) {
$filtro = " WHERE (comarca LIKE '$comarca ')"
} else {
$filtro = ""
}
// prepara filtro por tipo de casa
if ( isset($tipo)) {
if ($filtro == "") {
$filtro = " WHERE (tipo LIKE '$tipo')"
} else {
$filtro .= " AND (tipo LIKE '$tipo')"
}
}
// prepara filtro por capacidad
if ( isset($capacidad)) {
if ($filtro == "") {
$filtro = " WHERE (tipo capacidad >= $capacidad )"
} else {
$filtro .= " AND (tipo capacidad >= $capacidad )"
}
}
// genera la variable para la consulta SQL
$sql = " SELECT * FROM casas '$filtro' ORDER BY comarca ASC"
...
// ejecutar la búsqueda SQL
...
?>
  #4 (permalink)  
Antiguo 22/06/2011, 08:51
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 11 meses
Puntos: 22
Respuesta: Buscador multicampo no funciona

Hola el like se usa de esta manera:

Código PHP:
if ( isset($tipo)) {
    if (
$filtro == "") {
        
$filtro "tipo LIKE '%$tipo%')";
    } else {
        
$filtro .= " AND tipo LIKE '%$tipo%')";
    }

el where ponlo aqui y no en el filtro

$sql = "SELECT * FROM casas WHERE ".$filtro." ORDER BY comarca ASC";

Saludos.
  #5 (permalink)  
Antiguo 22/06/2011, 08:56
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Buscador multicampo no funciona

hola Felulofe, bienvenido.
los errores que te esta dando es que te faltan los ';' punto y coma
  #6 (permalink)  
Antiguo 23/06/2011, 07:39
 
Fecha de Ingreso: junio-2011
Ubicación: cantabria
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Buscador multicampo no funciona

He puesto los puntos y coma y me salen dos errores:

<? php

...
// prepara el acceso a la base de datos
...
// prepara filtro por comarca
if ( isset($comarca)) {
$filtro = " WHERE (comarca LIKE '$comarca ')";
} else {
$filtro = "";
}
// prepara filtro por tipo de casa
if ( isset($tipo)) {
if ($filtro == "") {
$filtro = " WHERE (tipo LIKE '$tipo')";
} else {
$filtro .= " AND (tipo LIKE '$tipo')";
}
}
// prepara filtro por capacidad
if ( isset($capacidad)) {
if ($filtro == "") {
$filtro = " WHERE (tipo capacidad >= $capacidad )";
} else {
$filtro .= " AND (tipo capacidad >= $capacidad )";
}
}
// genera la variable para la consulta SQL
$sql = " SELECT * FROM casas '$filtro' ORDER BY comarca ASC";
...
// ejecutar la búsqueda SQL
...
?>

Etiquetas: buscadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:04.