MySQL - Consulta sobre datos enviados de varios comboboxes

   
Vista:

Consulta sobre datos enviados de varios comboboxes

Publicado por romay2001 (9 intervenciones) el 29/12/2012 12:46:15
Buenas,

Estoy haciendo un buscador de empresas el cual incluye tres criterios de busqueda:

El buscador, llamado buscador.php lo tengo bastante claro, lo he montado con tres campos de búsqueda:

texto (para que el usuario busque por palabra clave) textfiel
id_concello (para buscar por ayuntamiento) combobox
id_actividad (para buscar por actividad) combobox

Botón Submit con el método GET que supuestamente debería enviar los tres datos anteriores a otra página llamada resultado-todos.php en el que he montado la tabla con comportamiento de repetición con los datos que me interesan de cada empresa.

El código que tengo, pero no funciona, en resultado-todos.php es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$startRow_resultado_todos = $pageNum_resultado_todos * $maxRows_resultado_todos;
 
$colname_resultado_todos = "-1";
if (isset($_GET['texto'])) {
  $colname_resultado_todos = (get_magic_quotes_gpc()) ? $_GET['texto'] : addslashes($_GET['texto']);
}
$colname_resultado_todos = "-1";
if (isset($_GET['id_concello'])) {
  $colname_resultado_todos = (get_magic_quotes_gpc()) ? $_GET['id_concello'] : addslashes($_GET['id_concello']);
}
$colname_resultado_todos = "-1";
if (isset($_GET['id_actividad'])) {
  $colname_resultado_todos = (get_magic_quotes_gpc()) ? $_GET['id_actividad'] : addslashes($_GET['id_actividad']);
}
mysql_select_db($database_empresas, $empresas);
$query_resultado_todos = sprintf("SELECT * FROM empresas WHERE id_concello = %s AND id_actividad = %s AND descripcion like '%%%s%%'", $colname_resultado_todos,$colname_resultado_todos,$colname_resultado_todos);
$query_limit_resultado_todos = sprintf("%s LIMIT %d, %d", $query_resultado_todos, $startRow_resultado_todos, $maxRows_resultado_todos);
$resultado_todos = mysql_query($query_limit_resultado_todos, $empresas) or die(mysql_error());
$row_resultado_todos = mysql_fetch_assoc($resultado_todos);
 
if (isset($_GET['totalRows_resultado_todos'])) {
  $totalRows_resultado_todos = $_GET['totalRows_resultado_todos'];
} else {
  $all_resultado_todos = mysql_query($query_resultado_todos);
  $totalRows_resultado_todos = mysql_num_rows($all_resultado_todos);
}
$totalPages_resultado_todos = ceil($totalRows_resultado_todos/$maxRows_resultado_todos)-1;
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Consulta sobre datos enviados de varios comboboxes

Publicado por xve (898 intervenciones) el 30/12/2012 17:30:15
Hola, la verdad es que a simple vista no veo nada raro... te da algún error?
o que es lo que debería hacer y no hace?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta sobre datos enviados de varios comboboxes

Publicado por romay2001 (9 intervenciones) el 02/01/2013 21:15:10
Muchas gracias de nuevo por responder,

Este es el enlace de la página que estoy haciendo:

http://s281634221.mialojamiento.es/buscaempresas/listado2.php

Si te fijas, hay una caja para buscar por palabra (y su botón "Buscar") y después hay dos comboboxes (uno de busqueda por concello y otro de búsqueda por actividad) que funcionan automáticamente como filtro al cambiar.

Lo que quiero hacer es poder buscar por los dos criterios de los comboboxes (concello y actividad) al mismo tiempo y con un botón "Buscar" común a los dos. Por ejemplo: el usuario quiere buscar las empresas "Restaurantes y hostelería" del concello de "Carballo". La busqueda pues, debe cumplir ambos criterios simultaneamente.

Espero que me haya explicado.

Muchas gracias por la atención.


romay2001
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Consulta sobre datos enviados de varios comboboxes

Publicado por xve (898 intervenciones) el 03/01/2013 07:29:42
Ahora te entiendo...

Para ello, la manera mas sencilla que se me ocurre, es que todos los valores estén dentro del mismo <form>, de esta manera, si busca por una palabra, enviaras también los valores de los desplegables, y si seleccionas un desplegable, enviaras también el contenido de la búsqueda por palabras.

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta sobre datos enviados de varios comboboxes

Publicado por romay2001 (9 intervenciones) el 03/01/2013 10:50:40
Muchas gracias por la respuesta Xve,

Efectivamente, tal y como comentas, los comboboxes de los datos a enviar y el botón que los envía deben estar contenidos en el mismo formulario. Yo ya lo tengo así montado y creo que lo he hecho bien, por el lado del buscador no tengo problema.

Lo que me da problemas es el archivo que recoge los datos, resultado-todos.php.. Creo que el problema está en el código que he dejado en el primer mensaje.

Muchas gracias de nuevo y un saludo


romay2001
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Consulta sobre datos enviados de varios comboboxes

Publicado por xve (898 intervenciones) el 03/01/2013 15:16:34
Pero, cual es el problema?? te da error?? no recoge algún valor??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta sobre datos enviados de varios comboboxes

Publicado por romay2001 (9 intervenciones) el 05/01/2013 13:21:34
Buenas y gracias por la respuesta,

Te dejo el enlace del formulario

http://s281634221.mialojamiento.es/buscaempresas/listado3.php


Supongamos, por ejemplo, que quiero ver todas las empresas de Coruña(A) que además sean de Ropa y Calzado. Yo sé que por lo menos hay una empresa que cumple los criterios, se llama La Mujer Araña.

Introduzco los criterios Coruña(A) en el combobox concello y Ropa y Calzado en el de actividad. Presiono el botón "Buscar" y no me devuelve resultado ninguno. Algo está fallando.

Un saludo

romay2001
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Consulta sobre datos enviados de varios comboboxes

Publicado por xve (898 intervenciones) el 05/01/2013 19:36:55
Los parametros parece que los pasa bien:
...resultado-todos.php?texto=Coru%F1a&id_concello=8123&id_actividad=30&Submit=Buscar

Puedes hacer un echo de la consulta sql?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta sobre datos enviados de varios comboboxes

Publicado por romay2001 (9 intervenciones) el 07/01/2013 14:43:35
Buenas,

Gracias por la respuesta. Mis conocimientos de Php son tan limitados que aún no sé como hacer un echo de una consulta. Me puedes indicar cómo hacerlo por favor?

Un saludo

romay2001
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Consulta sobre datos enviados de varios comboboxes

Publicado por xve (898 intervenciones) el 07/01/2013 18:26:46
Hola... es tan sencillo, como mostrar por pantalla la misma consulta que estas enviando a mysql... no se como tienes el codigo, pero cuando envias la query a mysql, anteriormente, haces algo así:
1
echo "select ...."
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta sobre datos enviados de varios comboboxes

Publicado por romay2001 (9 intervenciones) el 11/01/2013 11:31:42
Muy buenas y muchas gracias por toda la ayuda:

Aquí va el código del formulario que envía los datos con el botón Submit. La cosa sería que este buscador buscase en dos campos simultáneamente: por id_concello y por id_actividad. En la consulta Sql que te he puesto en posts anteriores estaba también para buscar por texto pero la he suprimido.

FORMULARIO QUE ENVIA LOS DATOS:

<form action="resultado-todos.php" method="get" enctype="multipart/form-data" name="form1" id="form1">
-
<select name="id_concello" id="id_concello">
<?php
do {
?>
<option value="<?php echo $row_concellos['id_concello']?>"><?php echo $row_concellos['concello']?></option>
<?php
} while ($row_concellos = mysql_fetch_assoc($concellos));
$rows = mysql_num_rows($concellos);
if($rows > 0) {
mysql_data_seek($concellos, 0);
$row_concellos = mysql_fetch_assoc($concellos);
}
?>
</select>
-
<select name="id_actividad" id="id_actividad">
<?php
do {
?>
<option value="<?php echo $row_actividades['id_actividad']?>"><?php echo $row_actividades['actividad']?></option>
<?php
} while ($row_actividades = mysql_fetch_assoc($actividades));
$rows = mysql_num_rows($actividades);
if($rows > 0) {
mysql_data_seek($actividades, 0);
$row_actividades = mysql_fetch_assoc($actividades);
}
?>
</select>
-
<input type="submit" name="Submit" value="Buscar" />
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar