Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/03/2007, 13:31
jmorenoponce
 
Fecha de Ingreso: enero-2006
Mensajes: 29
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Resultados de busqueda en base de datos

Vale, la historia es que al recargar la página con el href pierdo los valores de los campos de los criterios. Os pego el código, espero que sea legible. Acepto cogotazos también eh.

Código:
<div class="imagen_titular"><img src="../media/t_buscar_fincas.gif" alt="" width="276" height="27"/>
</div>

<?php 
	//Incluyo las rutinas de configuración de Criterios y Busqueda.
	include('rutinas/gestion_form_busqueda.php');

	echo $_GET['columna'];

	//Si he pulsado en NUEVA BUSQUEDA vacio todas las variables.
    if (isset($_POST['limpiar'])){
		$buscado = 'no';
		unset($_POST);
	}

	//Si he pulsado en BUSCAR configuro los criterios de busqueda y actuo como BUSCADO.
    if (isset($_POST['buscar'])){
		$buscado = 'si';
	}

	?>
	<p> Encuentre ofertas en nuestra base de datos mediante nuestro buscador de fincas siguiendo 5 sencillos pasos que le permitir&aacute;n ordenarlas por diferentes criterios.</p>
	<p>Puede realizar una consulta completa dejando los criterios sin alterar, o bien, puede elegir entre diferentes cantidades de olivos, intervalos de precio,  provincias, incluso ordenarlas por comarcas para la provincia de Ja&eacute;n. </p>
	<p>Una vez elegidas las opciones que mejor se adapten al tipo de fincas que desea encontrar pulse en <strong>Realizar b&uacute;squeda</strong> para ver sus resultados. </p>
	<br />
		
	<?php 
		// Si vengo de Limpiar el Formulario establezco el enfoque al principio del mismo
		if ($buscado=='no'){ echo '<a name="enfoque"></a>'; } 
	?>
	<a name="form"></a> <!-- Etiqueta para localizar aqui el enfoque cuando pulso sobre las comarcas del mapa. -->
	<h2>Seleccione los criterios que desea aplicar a la b&uacute;squeda:</h2>
	<div class="sangrado_2">
		<form action="<?php echo $_SERVER['PHP_SELF'.$path_modulo];?>#enfoque" method="post" name="form_busqueda" id="form_busqueda">
			
		<table class="formulario_busqueda">
			<tr>
				<td class="formulario_busqueda_numero">
					<img src="/media/orden_1.gif" alt="" width="18" height="18" />
				</td>
				<td class="formulario_busqueda_opcion">
					<label for="olivos">N&ordm; de Olivos:</label>
					<br />
					<select name="olivos" id="olivos">
						<?php form_busqueda_llena_olivos();?>
					</select>
				</td>
				<td class="formulario_busqueda_numero">
					<img src="/media/orden_3.gif" alt="" width="18" height="18" />
				</td>
				<td class="formulario_busqueda_opcion">
					<label for="provincia">Provincia:</label>
					<br />
					<select name="provincia" id="provincia" onclick="mira_provincia()"> 
						<?php form_busqueda_llena_provincias();?>
					</select>
				</td>
			</tr>
	
			<tr>
				<td class="formulario_busqueda_numero">
					<img src="/media/orden_2.gif" alt="" width="18" height="18" />
				</td>
				<td class="formulario_busqueda_opcion">
					<label for="precio">Precio:</label>
					<br />
					<select name="precio" id="precio">
						<?php form_busqueda_llena_precios();?>
					</select>
				</td>
				<td class="formulario_busqueda_numero">
					<img src="/media/orden_4.gif" alt="" width="18" height="18" />
				</td>
				<td class="formulario_busqueda_opcion">
					<label for="comarca">Comarca:</label>
					<br />
					<select name="comarca" id="comarca" onclick="mira_comarca()">
						<?php form_busqueda_llena_comarcas();?>
					</select>
				</td>
			</tr>
			<tr>
				<td class="formulario_busqueda_mapa" colspan="4">
					<img src="/media/mapa_comarcas_defecto.gif" alt="" name="mapa" width="445" height="308" border="0" usemap="#mapaComarcas" id="mapacomarcas" />
				</td>
			</tr>
			<tr>
				<td class="formulario_busqueda_numero">
					<img src="/media/orden_5.gif" alt="" width="18" height="18" />					
				</td>
				<td colspan="3">
					<input name="buscar" type="submit" id="buscar" value="Realizar búsqueda" />
					<input name="limpiar" type="submit" id="limpiar" value="Limpiar Criterios" />
				</td>
			</tr>
		</table>
		</form>
	</div>
	
	<?php
		if ($buscado=='si'){
			// Como ahora vengo de hacer una BUSQUEDA establezco el enfoque al principio del cuerpo de los resultados
			?>
				<a name="enfoque"></a>
				<h2>Resultados de la búsqueda:</h2>
			<?php
	
			// Conexion con la base de datos.
			$conn = mysql_connect($GLOBALS['sql_host'], $GLOBALS['sql_usuario'], $GLOBALS['sql_pass']);
			mysql_select_db($GLOBALS['sql_db,$conn']);
		
			// Inicializo el criterio de ordenación.	
			
			if(!$columna) {
				$orden = ' order by finca_ID';
			} else {
				$orden = ' order by finca_ID DESC';
			}
			
			//Construyo la sentencia SQL
			$ssql = form_busqueda_configura_criterios();
			
			$ssql = $ssql.$orden;
		
			//$ssql = "select * from ".$GLOBALS['sql_tbl_fincas'];
			$rs = mysql_query($ssql);
			$num_total_registros = mysql_num_rows($rs);
		
				
			if ($num_total_registros == 0) {
				echo 'No se encontraron resultados para los criterios seleccionados.';
			} else {
				?>
					<p>Se encontraron <strong><?php echo $num_total_registros ?> finca(s)</strong> coincidentes con los criterios seleccionados.</p>
					<p>Pulse sobre el encabezado de cada columna para ordenar los resultados en función a ese campo.<br />
					Pulse sobre una fila concreta para ver los detalles de la finca.</p>
				
					<table class="formulario_resultados">
						<tr class="leyenda">
							<td class="referencia"><a href="?mod=busc#enfoque&columna=ref">Ref.</a></td>
							<td class="descripcion"><a href="?mod=busc#enfoque&columna=ref">Descripci&oacute;n</a></td>
							<td class="provincia"><a href="provincia">Provincia</a></td>
							<td class="comarca"><a href="comarca">Comarca</a></td>
							<td class="superficie"><a href="superficie">Superficie</a></td>
							<td class="olivos"><a href="olivos">N&ordm; Olivos</a></td>
							<td class="precio"><a href="precio">Precio</a></td>
						</tr>
				<?php
				$parimpar = 1; // Cambio de color para las filas.
		
				while ($fila = mysql_fetch_object($rs)){
					// Para el cambio de color de los registros encontrados.
					if ($parimpar == 0) { $reg_color = 'registro_1'; $parimpar = 1; } 
					else { $reg_color = 'registro_2'; $parimpar = 0; }
					
					// Formateo las cadenas y leo datos de otras tablas.
					$reg_ref = $fila->finca_ID;
					$reg_descrip = acorta_cadena($fila->descripcion,25);
					
					// Localizo la Provincia asociada
					$ssql_eventual = 'select * from '.$GLOBALS['sql_tbl_provincias'].' where provincia_ID='.$fila->provincia_ID;
					$rs_eventual = mysql_query($ssql_eventual);
					$fila_eventual = mysql_fetch_object($rs_eventual);
					$reg_prov = $fila_eventual->provincia;
			
					// Localizo la Comarca asociada
					$ssql_eventual = 'select * from '.$GLOBALS['sql_tbl_comarcas'].' where comarca_ID='.$fila->comarca_ID;
					$rs_eventual = mysql_query($ssql_eventual);
					$fila_eventual = mysql_fetch_object($rs_eventual);
					$reg_comar = $fila_eventual->comarca;
				
					$reg_superf = number_format($fila->superficie).' ha.';
					$reg_olivos = number_format($fila->olivos);
					$reg_precio = number_format($fila->precio).' &euro;';
				?>		
					<tr class="<?php echo $reg_color?>">
						<td class="referencia"><?php echo $reg_ref?></td>
						<td class="descripcion"><?php echo $reg_descrip?></td>
						<td class="provincia"><?php echo $reg_prov?></td>
						<td class="comarca"><?php echo $reg_comar?></td>
						<td class="superficie"><?php echo $reg_superf?></td>
						<td class="olivos"><?php echo $reg_olivos?></td>
						<td class="precio"><?php echo $reg_precio?></td>
					</tr>
				<?php
					}
			echo '</table>';
			}
		}
	?>

Ahi va, casi na, no sabia si ponerlo como html o como php, porque va mezclado y de ninguna de las maneras de ve como tiene que verse. Os lo agradezco mucho chicos, de verdad.