Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2014, 14:51
Avatar de satixfaxion
satixfaxion
 
Fecha de Ingreso: abril-2013
Ubicación: Tenerife
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Buscador con text field y combo-box

Estoy creando un buscador con dos niveles combo-box y un input de texto.
Si busco solo con el input de texto busca pero si selecciono de los menus desplegables lo que me hace es sacarme todo lo que tengo en la base de datos.
Tengo una base de datos mysql con las tablas "search" donde estan todos los clientes, "provincia" para desplegar las provincias en el menu desplegable y "poblacion" para desplegar las poblaciones acorde con la provincia relaccionada que eso va bien y relacciona y despliega.



Conectar:

Código PHP:
<?php
function conectar()
{
    
mysql_connect("localhost""root""");
    
mysql_select_db("gsp");
}

function 
desconectar()
{
    
mysql_close();
}
?>
Proceso Combo-box:
Código PHP:
<?php
// Array que vincula los IDs de los selects declarados en el HTML con el nombre de la tabla donde se encuentra su contenido
$listadoSelects=array(
"sprovincia"=>"provincia",
"spoblacion"=>"poblacion"
);

function 
validaSelect($selectDestino)
{
    
// Se valida que el select enviado via GET exista
    
global $listadoSelects;
    if(isset(
$listadoSelects[$selectDestino])) return true;
    else return 
false;
}

function 
validaOpcion($opcionSeleccionada)
{
    
// Se valida que la opcion seleccionada por el usuario en el select tenga un valor numerico
    
if(is_numeric($opcionSeleccionada)) return true;
    else return 
false;
}

$selectDestino=$_GET["select"]; $opcionSeleccionada=$_GET["opcion"];

if(
validaSelect($selectDestino) && validaOpcion($opcionSeleccionada))
{
    
$tabla=$listadoSelects[$selectDestino];
    include 
'conexion.php';
    
conectar();
    
$consulta=mysql_query("SELECT id, opcion FROM $tabla WHERE relacion='$opcionSeleccionada'") or die(mysql_error());
    
desconectar();
    
    
// Comienzo a imprimir el select
    
echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>";
    echo 
"<option value='0'>Elige</option>";
    while(
$registro=mysql_fetch_row($consulta))
    {
        
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
        
$registro[1]=htmlentities($registro[1]);
        
// Imprimo las opciones del select
        
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
    }            
    echo 
"</select>";
}
?>
Formulario Imprimir Combo-box:
Código PHP:
<?php
   
function generaPaises()
                        {
                            include 
'../select2n/conexion.php';
                            
conectar();
                            
$consulta=mysql_query("SELECT id, opcion FROM provincia");
                            
desconectar();

                            
// Voy imprimiendo el primer select compuesto por los provincia
                            
echo "<select name='sprovincia' id='sprovincia' onChange='cargaContenido(this.id)'>";
                            echo 
"<option value='0'>Elige</option>";
                            while(
$registro=mysql_fetch_row($consulta))
                            {
                                echo 
"<option value='".$registro[0]."'>".$registro[1]."</option>";
                            }
                            echo 
"</select>";
                        }
                        
?>
                            <form action="../l/searchresults.php" name="form1" id="form1">
                                <div id="demoDer">
                                    <select disabled="disabled" name="spoblacion" id="spoblacion">
                                        <option value="0">Selecciona opci&oacute;n...</option>
                                    </select>
                                </div>
                                <div id="demoIzq"><?php generaPaises(); ?></div>
                                <div id="txtfild">
                                    <input type="text" name="k" id="searchtxt" style="width:150px;" />
                                    <input type="submit" name="searchbtn" id="searchbtn" value="Buscar" />
                                </div>
                            </form>
<?php
                            $k 
$_GET['k, sprovincia, spoblacion'];
                            
$terms explode(" "$k);
                            
$query "SELECT * FROM search WHERE ";

                            foreach (
$terms as $each) {
                                 
$i++;
                                
                                if (
$i == 1){
                                    
$query .= "keywords OR id LIKE '%$each%' ";
                                }
                                else{
                                    
$query .= "OR keywords OR id LIKE '%$each%' ";
                                }
                            }

                            
//connect
                            
mysql_connect("mysql.hostinger.es""u521948433_gsp""JA9800ja@@@");
                            
mysql_select_db("u521948433_gsp");

                            
$query mysql_query($query);
                            
$numrows mysql_num_rows($query);
                            echo 
"Número de resultados: $numrows para la busqueda <strong>$k</strong>";
                            if (
$numrows 0) {
                                while (
$row mysql_fetch_assoc($query)) {
                                    
$id $row['id'];
                                    
$title $row['opcion'];
                                    
$description $row['description'];
                                    
$keywords $row['keywords'];
                                    
$link $row['link'];

                                    echo 
"<h2><a href='$link'>$title</a></h2>
                                    $description<br /><strong> $link </strong><br /><br />"
;
                                }
                            }
                           
?>
No se como hacer para que me guarde todo lo de los campos ya seleccionados y buscar la tabla search y que me muestre las coincidencias.

Muchas gracias de anticipado y espero que porfavor alguien me ayude ya que estoy volviendome loco y no doy mas de si.

Mil gracias mil gracias de corazon.

Última edición por satixfaxion; 18/03/2014 a las 15:01