Foros ZackYFileS

Foros ZackYFileS (http://foros.zackyfiles.com/index.php)
-   PROGRAMACIÓN Lenguajes: Visual Basic, C++, etc (http://foros.zackyfiles.com/forumdisplay.php?f=370)
-   -   Ayuda con Buscador multicriterio (http://foros.zackyfiles.com/showthread.php?t=614502)

dukylayka 27/11/2009 20:23

Ayuda con Buscador multicriterio
 
[B]Hola compañeros[/B], necesito que me echen un cable.

Estoy preparando una Web en php y me he atascado a la hora de implementar un buscador, sé hacer un buscador simple, mostrar los registros, filtrarlos, etc. pero no sé cómo hacer para que me filtre por dos criterios, los cuales están en columnas diferentes en la misma tabla de la base de datos. Me explico:

En la base de datos MySQL tengo dos columnas (entre otras más en una tabla), una llamada “Pueblos” y otra “Actividades”. El tema es que quiero hacer un buscador que filtre las filas que cumplan con dos requisitos, “el pueblo y la actividad seleccionada por el visitante. Esto lo haría por medio de un formulario con dos listas-menú (o menú de salto) y un botón enviar.

Osea, si el visitante quiere ver los hoteles de Madrid, que el juego de registros muestre solamente las filas donde el pueblo (en la columna pueblos) ponga Madrid y También ponga Hoteles (en la columna actividades).

Trabajo con Dreamweaver pero también escribo algo de código, aun que poquito. No sé si sería mejor hacer una tabla para "Pueblos" y Otra para "Actividades", o todo en la misma.

He buscado por Google un montón y no he visto nada que se ajuste a lo que necesito, o lo que he visto no me ha funcionado por viejo. [URL="http://foros.zackyfiles.com/showthread.php?t=610135"]Aquí[/URL] explican algo parecido Kolmo7 y Kezuziyo, pero hablan de Access y no entiendo ni papa, yo ando con phpMyAdmin.

A ver si por favor me echáis una mano, si necesitáis más detalles decírmelo.

Muchas gracias.

kezuziyo 27/11/2009 21:13

supongo que en los filtros simples que haces usarás la claúsula WHERE de la instrucción SELECT del SQL, p.e. [B]WHERE Poblacion='MADRID'[/B], si es así tienes que unir las diferentes condiciones con OR o AND para el O y el Y. Puedes usar paréntesis para agrupar expresiones. En concreto el ejemplo que pones sería [B]SELECT * FROM Tabla WHERE Poblacion='Madrid' AND Actividad='Hoteles'[/B]

dukylayka 27/11/2009 22:11

Gracias amigo, voy a probarlo, creo que probé algo parecido :rolleyes: y no me funcionó, pero lo mismo lo hice mal por que traigo una empanada de tanto buscar leer y probar que no veas.

Mañana te cuento

Saludos :)

kolmo7 27/11/2009 23:14

Ya te lo ha dicho kezuziyo. Ahora solo tienes que implementarlo en php y pasar bien las variables.

dukylayka 28/11/2009 00:39

Cita:

Iniciado por kolmo7 (Mensaje 3925749)
Ya te lo ha dicho kezuziyo. Ahora solo tienes que implementarlo en php y pasar bien las variables.

Hola kolmo7, ahí está el tema :cool:

Donde me atasco es en como paso los 2 valores (Madrid y Hoteles) de los dos listas-menú desde la pagina que los contiene a la pagina de resultados que contiene el juego de registros, por que… o me muestra todos los registros o ninguno, pero no me filtra por los dos criterios escogidos.

Es que el tema está en que “Madrid y Hoteles” no lo pongo yo, si no que los valores (Madrid y hoteles) vienen de otra página que contiene los listas-menús.

Utilizo el método GET para enviar el formulario.

"hoteles" es el nombre de la tabla en la DB.

“concejo” es el nombre de la columna en la DB (de donde saldría Madrid) “concejos” es el ID de la lista-menú que contiene los pueblos en la pagina del buscador.

“categoria” es el nombre de la columna en la DB (de donde saldría Hoteles) “categorias” es el ID de la lista-menú que contiene las categorías en la pagina del buscador.

[B]La consulta que NO me muestra ningún registro es esta:[/B]

SELECT seccion, concejo, nombre
FROM hoteles
WHERE seccion = secciones AND concejo = concejos

[B]La que me muestra todos sin filtrar es esta:[/B]

SELECT seccion, concejo, nombre
FROM hoteles
WHERE seccion = seccion AND concejo = concejo

La consulta la hago con dreamweaver y la variable la declaro así:

Nombre: seccion
Tipo: Text
Valor predeterminado: -1
valor de tiempo de ejecución: $_GET[‘seccion’]

[B]Y la segunda:[/B]

Nombre: concejo
Tipo: Text
Valor predeterminado: -1
valor de tiempo de ejecución: $_GET[‘concejo’]

He probado a declararlas cambiando “concejos” a “concejo”, “secciones” a “sección” y viceversa, pero nada.

Yo creo que la historia está en que no declaro bien las variables, pero por más que pruebo nada de nada :(

Saludos

kolmo7 28/11/2009 01:26

Es que me pierdo un poco con php porque no lo se manejar... pero para la consulta de sql tienes que decir que la variable seccion debe ser la que introduzca el tipo en el formulario, [B]$_GET[‘seccion’][/B], y para la variable [B]concejo [/B]debería ser igual a [B]$_GET[‘concejo’][/B].

Es que en la primera de las consultas que pones aparece un [B]concejos[/B] y una [B]secciones[/B] que no son nombres de campos de la tabla [B]hoteles[/B], por lo que no se qué estás pretendiendo hacer con ella y en la segunda de las consultas estás diciendo que [B]1=1[/B], que siempre es cierto (dices que [B]seccion = seccion[/B] y que [B]concejo = concejo[/B] y eso siempre va a ser cierto : rolleyes: ).

Ahora mismo me voy a desconectar, porque tengo un sueño que me caigo, por eso puede que no me esté enterando bien de lo que pones, pero podrías hacernos un esquemita de lo que llevas hecho: nombres de tablas, campos de cada tabla, formularios que tienes,...

Me voy para el sobre :ni)

Coke-OFF 28/11/2009 01:54

$seccion = $_GET['seccion'];
$concejo = $_GET['concejo'];

$query = "SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = $seccion AND concejo = $concejo";


Coke.

dukylayka 28/11/2009 03:16

Hola de nuevo kolmo7, si señor al cuerpo hay que darle lo que pide :D

[quote]X [B]kolmo7[/B]: Es que en la primera de las consultas que pones aparece un concejos y una secciones que no son nombres de campos de la tabla hoteles, por lo que no se qué estás pretendiendo hacer con ella..[/quote]

Ya lo cambié, “concejos y secciones” eran los nombres que le di a los dos lista-menú del buscador. Los cambié por “concejo y sección” que son también los nombres de las columnas en la tabla “hoteles”, pero tampoco me funciona.

No hay manera, o me muestra todos los registros de la tabla o ninguno.
Os doy datos a ver si caéis en donde meto la pata:

Nombre de la tabla: hoteles
Nombre de la columna en la tabla hoteles que contiene las secciones: seccion
Nombre de la columna en la tabla hoteles que contiene los concejos: concejo


Nombre de la lista-menú que contiene las secciones: seccion
Nombre de la lista-menú que contiene los concejos: concejo
Método de envío del formulario que contiene los dos lista-menús: GET

Con esto, como sería la consulta?

[quote] X [B]Coke[/B]: $seccion = $_GET['seccion'];
$consejo = $_GET['consejo'];

$query = "SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = $seccion AND consejo = $consejo"; [/quote]

Gracias, pero tampoco me funciona (si es que lo he hecho bien), seguiremos intentando :cool:

Saludos y hasta mañana

kezuziyo 28/11/2009 12:40

yo tampoco he trabajado nunca con Dramweaver o php, pero el amigo Coke si que es un experto en el tema, me extraña que no funcione lo que él dice (aunque como humano que es también se puede equivocar), revisa lo que él te ha dicho.

Coke-OFF 28/11/2009 14:02

Cita:

$seccion = $_GET['seccion'];
$concejo = $_GET['concejo'];

$query = "SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = $seccion AND concejo = $concejo";
te lo he puesto asi, para darte una idea de como va, porque no se como lo tienes tu...pero las variables que son cadenas de texto hay que ponerlas entre comillas.

$query = "SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = '$seccion' AND concejo = '$concejo'";

$query = "SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = '".$seccion."' AND concejo = '".$concejo."'";

$query = "SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = \"$seccion\" AND concejo = \"$concejo\"";

etc...

adaptalo a tu codigo...o si quieres pon aqui el trozito en cuestion, para que lo veamos y asi poder ayudarte mejor.


Coke.

dukylayka 28/11/2009 17:51

Hola qué tal?

No, si no digo esté mal el código de Coke, el tema es que como utilizo Dreamweaver, en la ventana de configuración del juego de registros no se puede meter la consulta tal y como me lo puso el compañero, he mirado todo el código de la página y no aparece esa parte para hacerle yo la corrección de acuerdo al consejo de Coke.

Lo más parecido (entre todo el código que genera Dreamweaver para el RS) es esto:

Así está ahora después de mil vueltas, ahora ni me los mustra todos ni no me muestra ninguno, simplemente me muestra el valor que puse al declarar las variables en el campo “valor predeterminado”.

[B]Código escrito en la página por el programa después de configurar el RS en la ventana correspondiente:[/B]
Las declaraciones de las variables.
$seccion_resultados = "-1";
if (isset($_GET['seccion'])) {
$seccion_resultados = $_GET['seccion'];
}
$concejo_resultados = "-1";
if (isset($_GET['concejo'])) {
$concejo_resultados = $_GET['concejo'];
}

El query
$query_resultados = sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s"

[B]Estas son las capturas de la configuración del RS.[/B]
Ventana de configuración :
[URL=http://img197.imageshack.us/i/ventanars.gif/]http://img197.imageshack.us/img197/6632/ventanars.gif[/URL]

[B]Variable concejo:[/B]
[URL=http://img137.imageshack.us/i/variableconcejo.gif/]http://img137.imageshack.us/img137/7...bleconcejo.gif[/URL]

[B]Variable sección:[/B]
[URL=http://img37.imageshack.us/i/variableseccion.gif/]http://img37.imageshack.us/img37/393...bleseccion.gif[/URL]

[B]Resultado de la consulta:[/B]
(Cuando lo pruebo en local solo muestra los nombres de todos los registros de la tabla.)
[URL=http://img31.imageshack.us/i/resultadoconsulta.gif/]http://img31.imageshack.us/img31/559...doconsulta.gif[/URL]

Yo creo que el fallo está en cómo declaro las variables, cosa que estaría chupao de solucionar si lo pudiese escribir tal cual me lo puso el compañero. O si pudiese modificar algo en la ventana del RS para hacerlo funcionar. Me he artao de buscar en Google como hacer esto último, pero a pesar de haber un millón de tutoriales de Dreamweaver nadie trata este tema.

Muchas gracias por la ayuda, seguiremos intentando :)

Saludos

kezuziyo 28/11/2009 18:02

creo que habías dicho que si ponías un solo criterio si que funcionaba bien, si es así vuelve a poner un solo criterio y mira a ver que genera a ver si te ayuda a saber como se hace

Coke-OFF 28/11/2009 18:13

cambia esto...

$query_resultados = sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s"

por esto...

$query_resultados = "SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = '$seccion_resultados' AND concejo = '$concejo_resultados'";

Coke.

Coke-OFF 28/11/2009 18:54

o si no quieres cambiar tu codigo...pon esto a mano.

yo no uso Dreamweaver...pero ese codigo aunque esta incompleto, debe ser algo asi...

Código PHP:

$query_resultados sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s"
                            
"seccion"
                            
"concejo"
                            
"seccion"
                            
"'$seccion_resultados'"
                            
"concejo"
                            
"'$concejo_resultados'"); 

Coke.

dukylayka 28/11/2009 22:20

Hola.

Cita:

cambia esto...

$query_resultados = sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s"

por esto...

$query_resultados = "SELECT seccion, consejo, nombre FROM hoteles WHERE seccion = '$seccion_resultados' AND consejo = '$consejo_resultados'";
Coke, esto que me pones me da error de sintaxis, los dos casos. No lo he probado a fondo, pero igual te faltan datos así que abajo te pego la consulta entera.

Lo he cambiado para pegaros lo que dice kezuziyo.

[B]Así me escribe el código de una consulta simple:[/B]
La variable:

Cita:

$colname_resultados = "-1";
if (isset($_GET['concejo'])) {
$colname_resultados = $_GET['concejo'];
}[/quote]

[B]El string completo:[/B]

Cita:

$query_resultados = sprintf("SELECT seccion, concejo, nombre FROM hoteles WHERE concejo = %s", GetSQLValueString($colname_resultados, "text"));[/quote]

[B]Y así lo que tenía antes, con los dos criterios:[/B]
[quote]
$seccion_resultados = "-1";
if (isset($_GET['seccion'])) {
$seccion_resultados = $_GET['seccion'];
}
$concejo_resultados = "-1";
if (isset($_GET['concejo'])) {
$concejo_resultados = $_GET['concejo'];
}
[quote]
$query_resultados = sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s", GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($concejo_resultados, "text"),GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($concejo_resultados, "text"),GetSQLValueString($concejo_resultados, "text"));
Gracias, hasta luego ;)

dukylayka 28/11/2009 22:39

Igual está aquí el tema.

Si os fijáis en la consulta simple que funciona, al declarar la variable pone:

[B]$colname_resultados = $_GET['concejo'];[/B]

y no

[B]$concejo_resultados = $_GET['concejo'];[/B]

o

[B]$seccion_resultados = $_GET['seccion'];[/B]

que es como aparece cuando lo escribo yo.

¿Puede ser eso? :cool:

Coke-OFF 28/11/2009 22:40

a ver...tienes que cambiar esto...

Código PHP:

$query_resultados sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s"GetSQLValueString($seccion_resultados"text"),GetSQLValueString($concejo_resultados"text"),GetSQLValueString($seccion_resultados"text"),GetSQLValueString($seccion_resultados"text"),GetSQLValueString($concejo_resultados"text"),GetSQLValueString($concejo_resultados"text")); 

por esto...

Código PHP:

$query_resultados sprintf("SELECT seccion, consejo, nombre FROM hoteles WHERE seccion = %s AND consejo = %s"
                            
"'$seccion_resultados'"
                            
"'$concejo_resultados'"); 

o por esto...

Código PHP:

$query_resultados "SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = '$seccion_resultados' AND concejo = '$concejo_resultados'"

antes solo he puesto esto...

$query_resultados = sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s"

porque es asi como lo habias puesto tu, pero tienes que cambiarlo completo...

o prueba con esto....

Código PHP:

$query_resultados sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s"GetSQLValueString("seccion""text"),GetSQLValueString("concejo""text"),GetSQLValueString("seccion""text"),GetSQLValueString($seccion_resultados"text"),GetSQLValueString("concejo""text"),GetSQLValueString($concejo_resultados"text")); 

Coke.

kezuziyo 28/11/2009 22:55

Código:

$seccion_resultados = "-1";
if (isset($_GET['seccion'])) {
$seccion_resultados = $_GET['seccion'];
}
$concejo_resultados = "-1";
if (isset($_GET['concejo'])) {
$concejo_resultados = $_GET['concejo'];
}
$query_resultados = sprintf("SELECT seccion, concejo, nombre FROM hoteles WHERE concejo = %s AND seccion = %s", GetSQLValueString($concejo_resultados, "text"), GetSQLValueString($seccion_resultados, "text"));


Coke-OFF 29/11/2009 01:56

creo que ya debe de funcionarte...

lo que si te recomiendo es que intentes hacerlo manualmente, es como se aprende...con lo editores automaticos, uno hace las cosas y no sabe lo que esta haciendo...yo personalmente lo haria asi...

Código PHP:

$concejo_resultados '';
$seccion_resultados '';

if(isset(
$_GET['seccion'])) {
    
$seccion_resultados = @mysql_real_escape_string($_GET['seccion']);
}

if(isset(
$_GET['concejo'])) {
    
$concejo_resultados = @mysql_real_escape_string($_GET['concejo']);


if(
$concejo_resultados && $seccion_resultados) {
    
$query_resultados "SELECT seccion, concejo, nombre FROM hoteles WHERE concejo = '$concejo_resultados' AND seccion = '$seccion_resultados'";


Coke.

dukylayka 29/11/2009 02:00

Nada, no hay manera, no me funciona ninguno. Y lo he probado varias veces, por que al principio no me había dado cuenta de que Coke ponía "con[B]s[/B]ejos" en vez de "con[B]c[/B]elos", pero no es eso por que lo he corregido y sigue sin funcionar.

[B]Así lo tengo ahora[/B], (que ya no es ni lo de antes) de esta manera me muestra todos los registros de la tabla independientemente de lo que haya seleccionado en los listas-menú.
[quote]
$seccion_resultados = "-1";
if (isset($_GET['seccion'])) {
$seccion_resultados = $_GET['seccion'];
}
$concejo_resultados = "-1";
if (isset($_GET['concejo'])) {
$concejo_resultados = $_GET['concejo'];
}

$query_resultados = sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s", GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($concejo_resultados, "int"),GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($concejo_resultados, "int"),GetSQLValueString($concejo_resultados, "int"));
[/quote]
Si es que ya llevo tiempo intentando implementar un buscador así pero ya lo dejé por imposible dos o tres veces por que me arté de buscar.

Gracias, seguiré buscando, mientras tanto si se os ocurre algo... agradecido.

Saludos

dukylayka 29/11/2009 02:10

Cita:

Iniciado por Coke (Mensaje 3926674)
creo que ya debe de funcionarte...

lo que si te recomiendo es que intentes hacerlo manualmente, es como se aprende...con lo editores automaticos, uno hace las cosas y no sabe lo que esta haciendo...yo personalmente lo haria asi...

Código PHP:

$concejo_resultados '';
$seccion_resultados '';

if(isset(
$_GET['seccion'])) {
    
$seccion_resultados = @mysql_real_escape_string($_GET['seccion']);
}

if(isset(
$_GET['concejo'])) {
    
$concejo_resultados = @mysql_real_escape_string($_GET['concejo']);


if(
$concejo_resultados && $seccion_resultados) {
    
$query_resultados "SELECT seccion, consejo, nombre FROM hoteles WHERE consejo = '$concejo_resultados' AND seccion = '$seccion_resultados'";


Coke.

Vaya, no había visto tu post.

Si, tienes toda la razón, pero es que tengo tantos frentes abiertos que no doy a basto, y echar mano de un editor de estos me evita tener que meterme de lleno, como debería ser (y bien dices tú), y tener que recortar tiempo de otras movidas con las que también necesito trabajar.

De todas maneras le daré unas vueltas a esto último que has puesto :D

Saludos

Coke-OFF 29/11/2009 02:19

oño, es verdad...no se por que unas veces pongo concejo y otras consejo...debe ser porque soy andalú...:p

bueno, pues solo tienes que cambiar onde pongo consejo por concejo.

Coke.

Coke-OFF 29/11/2009 02:52

Cita:

$query_resultados = sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s", GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($concejo_resultados, "int"),GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($concejo_resultados, "int"),GetSQLValueString($concejo_resultados, "int"));
no...mira, sprintf lo que hace es devolver un string con el formato que tu quieras...ejemplo.

Cita:

$string = sprintf("hola %s, como estas?", "dukylayka");
salida => hola dukylayka, como estas?

otro ejemplo...

Cita:

$string = sprintf("Hola %s, soy %s", "dukylayka", "Coke");
salida => Hola dukylayka, soy Coke.

si tu formato es...

Cita:

"SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s"
y quieres que la salida sea...

"SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = '$seccion_resultados' AND concejo = '$concejo_resultados'"

tienes que hacerlo asi...

Código PHP:

$query_resultados sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s"
                            
"seccion"
                            
"concejo"
                            
"seccion"
                            
GetSQLValueString($seccion_resultados"text"), 
                            
"concejo",
                            
GetSQLValueString($concejo_resultados"text")); 

o sustituyendo las variables fijas...seccion y concejo.

Código PHP:

$query_resultados sprintf("SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = %s AND concejo = %s"
                            
GetSQLValueString($seccion_resultados"text"), 
                            
GetSQLValueString($concejo_resultados"text")); 

Coke.

dukylayka 29/11/2009 03:12

OK, gracias de nuevo :D

Mañana lo miro por que llevo todo el día con lo mismo y estoy ya empanao.

Saludos

kezuziyo 29/11/2009 11:16

¿ya funciona?

dukylayka 29/11/2009 16:53

Mecaguen..
 
Hola, pues no :y) , siento mucho daros esta noticia, pero de momento no me funciona. He probado a eliminar por completo el RS que me generó el programa y lo he intentado directamente con esto de Coke:

[CODE]$concejo_resultados = '';
$seccion_resultados = '';

if(isset($_GET['seccion'])) {
$seccion_resultados = @mysql_real_escape_string($_GET['seccion']);
}

if(isset($_GET['concejo'])) {
$concejo_resultados = @mysql_real_escape_string($_GET['concejo']);
}

if($concejo_resultados && $seccion_resultados) {
$query_resultados = "SELECT seccion, concejo, nombre FROM hoteles WHERE concejo = '$concejo_resultados' AND seccion = '$seccion_resultados'";
} [/CODE]

Pero como no me aclaro.. pasa lo que pasa.
¿Qué debo poner entre las comillas simples?:
[B]$concejo_resultados = '';
$seccion_resultados = '';[/B]

En cuanto a las demás pruebas no me funciona ninguna.

Os pongo el código completo que tengo ahora, así me muestra todos los registros sin filtrar:

[CODE]if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$concejo_resultados = "-1";
if (isset($_GET['concejo'])) {
$concejo_resultados = $_GET['concejo'];
}
$seccion_resultados = "-1";
if (isset($_GET['seccion'])) {
$seccion_resultados = $_GET['seccion'];
}
mysql_select_db($database_mibasededatos, $mibasededatos);

$query_resultados = sprintf("SELECT %s, %s, nombre FROM hoteles WHERE %s = %s AND %s = %s", GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($concejo_resultados, "text"),GetSQLValueString($concejo_resultados, "text"),GetSQLValueString($concejo_resultados, "text"),GetSQLValueString($seccion_resultados, "text"),GetSQLValueString($seccion_resultados, "text"));
$resultados = mysql_query($query_resultados, $asturprodb) or die(mysql_error());
$row_resultados = mysql_fetch_assoc($resultados);
$totalRows_resultados = mysql_num_rows($resultados);[/CODE]

Joer, perdonar por mi torpeza :rolleyes: , si lo conseguimos os invito a unas cervezas virtuales :D

Saludos (caguen la..)

Coke-OFF 29/11/2009 17:16

Código PHP:

if(!function_exists("GetSQLValueString")) {
    function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue "") {
        
$theValue get_magic_quotes_gpc()? stripslashes($theValue) : $theValue;
        
        
$theValue function_exists("mysql_real_escape_string")? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
        
        switch (
$theType) {
            case 
"text" :
                
$theValue = ($theValue != "")? "'" .$theValue"'" "NULL";
                break;
            case 
"long" :
            case 
"int" :
                
$theValue = ($theValue != "")? intval($theValue) : "NULL";
                break;
            case 
"double" :
                
$theValue = ($theValue != "")? "'" .doubleval($theValue ). "'" "NULL";
                break;
            case 
"date" :
                
$theValue = ($theValue != "")? "'" .$theValue"'" "NULL";
                break;
            case 
"defined" :
                
$theValue = ($theValue != "")? $theDefinedValue $theNotDefinedValue;
                break;
        }
        return 
$theValue;
    }
}

$concejo_resultados "-1";
if (isset(
$_GET ['concejo'])) {
    
$concejo_resultados $_GET['concejo'];
}
$seccion_resultados "-1";
if (isset(
$_GET ['seccion'])) {
    
$seccion_resultados $_GET['seccion'];
}
mysql_select_db($database_mibasededatos$mibasededatos);

$query_resultados sprintf("SELECT seccion, concejo, nombre FROM hoteles WHERE seccion = %s AND concejo = %s"
                            
GetSQLValueString($seccion_resultados"text"), 
                            
GetSQLValueString($concejo_resultados"text"));
                            
$resultados mysql_query($query_resultados$asturprodb) or die (mysql_error());
$row_resultados mysql_fetch_assoc($resultados);
$totalRows_resultados mysql_num_rows($resultados); 

Coke.

dukylayka 29/11/2009 17:45

Ahora sí
 
http://img134.imageshack.us/img134/3...vezaspatos.jpg

Pues lo dicho :D :D :D :D

Muchas gracias a todos :-/

Coke, tío, no sé como agradecértelo, por fin funciona filtrando perfectamente, aunque estuve a punto de desecharlo por que se te escapó otro "[B]consejos[/B]" :D

Un saludo, y super agradecido :-/ :-/

Voy a ver si papeo que ya es hora.

Coke-OFF 01/12/2009 00:08

de nada...y gracias por las cervecitas, pero no veo una Alhambra 1925...:p

Coke.

dukylayka 02/12/2009 01:29

¡Mecagüen..!
 
Será por dinero :D

[URL=http://img121.imageshack.us/i/alhambra1925.jpg/]http://img121.imageshack.us/img121/1...hambra1925.jpg[/URL]


Lo dicho, gracias compañero :)

Saludos


La franja horaria es GMT +2. Ahora son las 07:56.

Powered por vBulletin™ Version 3.8.10
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Traducido por vBsoporte - vBulletin en español
ZackYFileS - Foros de Debate