Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2006, 20:14
Avatar de ramon92
ramon92
 
Fecha de Ingreso: enero-2004
Ubicación: Lima
Mensajes: 135
Antigüedad: 20 años, 3 meses
Puntos: 8
Consulta con paginado desde listas desplegables

Hola amigos, tengo peleandome con este codigo hace varios dias. El detalle es el siguiente, tengo un formulario para realizar busquedas en una BD Mysql y mostrarlas en el paginado de JPINEDO, el esquema del buscador

La forma del formulario es el siguiente:


El codigo del formulario que esta dentro del home.php es el siguiente:
Código HTML:
<table width="200" border="0" align="left" cellpadding="0" cellspacing="0">
          <tr>
            <td class="borde"><form name="form1" method="post" action="">
                <table width="200" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#f2f4f9">
                  <tr>
				  <?php
		 			session_start();
					if ( isset ( $_SESSION['usNick'] ) ) {
			 		// Si esta logeado
					 	?>
				    		<td height="20" align="left" valign="middle" background="img/fondo_busca.jpg" class="linea"><div class="buscador_saludo_bold"><? echo 'Hola, ' , $_SESSION['usNick'] ?></div></td>
                  		<?php
					} else {
				  	// si no esta logeado
							?>
							<td height="20" align="left" valign="middle" background="img/fondo_busca.jpg" class="linea"><div class="buscador_saludo_bold">Buscador, <span class="buscador_saludo">de propiedades</span> </div></td>
							<?php
							}
				  ?>
				  </tr>
                  <tr>
                    <td height="60" class="linea"><div class="buscador_txt"><img src="img/triangulo.jpg" width="3" height="5"> Estoy en busca de:<br>
                            <br>
                            <select name="tipo" size="1" class="buscador_list" id="tipo">
                              <option selected>---------- Seleccionar ----------</option>
                              <option value="Terreno">Terreno</option>
                              <option value="Casa">Casa</option>
                              <option value="Departamento">Departamento</option>
                              <option value="Oficina">Oficina</option>
                              <option value="Local Comercial">Local Comercial</option>
                            </select>
                            <br>
                    </div></td>
                  </tr>
                  <tr>
                    <td height="60" class="linea"><div class="buscador_txt"><img src="img/triangulo.jpg" width="3" height="5"> Que este en :<br>
                            <br>
                            <select name="estado" size="1" class="buscador_list" id="estado">
                              <option selected>---------- Seleccionar ----------</option>
                              <option value="Venta">Venta</option>
                              <option value="Alquiler">Alquiler</option>
                              <option value="Traspaso">Traspaso</option>
                              <option value="Concesion">Conseci&oacute;n</option>
                            </select>
                            <br>
                    </div></td>
                  </tr>
                  <tr>
                    <td height="60" class="linea"><div class="buscador_txt"><img src="img/triangulo.jpg" width="3" height="5"> Ubicado en la zona de :<br>
                            <br>
                            <select name="distrito" size="1" class="buscador_list" id="distrito">
                              <option selected>---------- Seleccionar ----------</option>
                              <option value="Miraflores">Miraflores</option>
                              <option value="Lima">Lima</option>
                              <option value="Surco">Surco</option>
                              <option value="La Molina">La Molina</option>
                            </select>
                            <br>
                    </div></td>
                  </tr>
                  <tr>
                    <td height="60" class="linea"><div class="buscador_txt"><img src="img/triangulo.jpg" width="3" height="5"> Con un precio de :<br>
                            <br>
                            <select name="precio" size="1" class="buscador_list" id="precio">
                              <option selected>---------- Seleccionar ----------</option>
                              <option>US$ 20,000 - US$ 30,000</option>
                            </select>
                            <br>
                    </div></td>
                  </tr>
                  <tr>
                    <td height="60" class="linea"><div class="buscador_txt"><img src="img/triangulo.jpg" width="3" height="5"> Con un &aacute;rea de :<br>
                            <br>
                            <select name="area" size="1" class="buscador_list" id="area">
                              <option selected>---------- Seleccionar ----------</option>
                              <option value="70 - 80 mt2">70 - 80 mt2</option>
                              <option>80 - 100 mt2</option>
                              <option>100 - 120 mt2</option>
                            </select>
                            <br>
                    </div></td>
                  </tr>
                  <tr>
                    <td height="60" class="linea"><div class="buscador_txt"><img src="img/triangulo.jpg" width="3" height="5"> Dormitorios :<br>
                            <br>
                            <select name="dormitorio" size="1" class="buscador_list" id="dormitorio">
                              <option selected>---------- Seleccionar ----------</option>
                              <option value="2">2 Dormitorios</option>
                              <option value="3">3 Dormitorios</option>
                              <option value="4">4 Dormitorios</option>
                            </select>
                            <br>
                    </div></td>
                  </tr>
                  <tr>
                    <td height="30" class="linea"><table width="200" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td width="126"><div class="buscador_txt_busca">Realizar la busqueda?
                            <input name="envio" type="hidden" id="envio" value="buscar" >
                          </div></td>
                          <td width="74" align="center" valign="middle">
						  <? session_start();
						  	if( isset ( $_SESSION['usNick'] ) ) {;
							   echo "<input type=image src=img/btn_ok.jpg width=62 height=18 action=home.php method=post/>";
							}else{
 							   echo "Inicie Sesión";
							   }
						  ?>
                        </tr>
                    </table></td>
                  </tr>
                  <tr>
                    <td align="center" valign="middle" class="linea"><img src="img/buscar_img.jpg" width="198" height="190"/></td>
                  </tr>
                  <tr>
                    <td class="linea">&nbsp;</td>
                  </tr>
                </table>
            </form></td>
          </tr>
        </table> 
Preguntas:

1.- La consulta a la base de datos solo es posible cuando selecciono 2 listas (por ejem tipo y estado), cuando selecciono otras conbinaciones falla por eso lo he deshabilitado, el codigo que me pasaron me ayuda bastante pero soy amateur en esto, me funciona casi casi, pero acudo a ustedes para mas ayuda.

Código PHP:
// Incluimos la Clase Paginado
include("class.paginado.php");
$rs = new paginado($Conn); // instanciamos un objeto
$rs->pagina($pagina); // Le indicamos en que página estamos - 1 por defecto
$rs->porPagina(6); // Le decimos cuantos registros por página queremos - 20 por defecto
$rs->propagar("forum"); // Le decimos las variables que queremos propagar en los links
//
$tipo $_POST[tipo];
$estado $_POST[estado];
$distrito $_POST[distrito];
$precio $_POST[precio];
$area $_POST[area];
$dormitorios $_POST[dormitorios];
//
$SQL="SELECT * FROM opp_inmuebles WHERE (1=1)";
// si selecciono esta lista desplegable, buscar registros coicidentes
if (!empty($tipo)) $SQL.=" AND tipo LIKE '%$tipo%' ";
if (!empty(
$estado)) $SQL.=" AND estado LIKE '%$estado%' ";
//if (!empty($distrito)) $SQL.=" AND distrito LIKE '%$distrito%' ";
//if (!empty($precio)) $SQL.=" AND precio LIKE '%$precio%' ";
//if (!empty($area)) $SQL.=" AND area LIKE '%$area%' ";
//if (!empty($dormitorios)) $SQL.=" AND dormitorios LIKE '%$dormitorios%' ";
//
if (!$rs->query($SQL)) // Y ejecutamos nuestra consulta. 
{     
    die( 
$rs->error() ); // Si Query devolvió falso, hubo un error y lo mostramos. 

2.- Este formulario lo deseo presente en toda la web, pero sin usar frames. Como tendria q hacer para que no aparesca la busqueda por default que sale cuando se accede a la pagina buscar.php (imaginemos que ponga la pagina de contacto y lo primero q aparece es la busqueda por defaul del paginador y abajo recien lo de la seccion contacto, esto porque en todas las paginas se copio el codigo no?) seria me imagino algo como "si presiono buscar, ejecuta recien el buscador"
__________________
Hosting Peru.ME | Hosting para Empresas
Agencia de Publicidad Online (Enjoy the difference)

Última edición por ramon92; 14/01/2009 a las 14:32