Consultas con PHP e Imágenes

Hola.
Mi problema es el siguiente...  Hace tiempo tengo un cliente que tiene una inmobiliaria.  Con otra gente le hemos desarrollado su sistema que anda de mil maravillas.  El punto es el siguiente.
Tengo un formulario que desde una consulta a través de una serie de combos desplegables que refieren a datos de búsqueda se obtiene en la misma pagina php un listado de propiedades con los datos que se pidió en la búsqueda y su correspondiente imagen en miniatura que al clickearla pasa a otra página donde despliega toda la info de la propiedad.
Lo que queremos hacer ahora y NO NOS SALE es que al abrir directamente dicha pagina php el ususario no tenga que buscar por medio de los combos desplegables sino que directamente reciba las tablas con los resultados de todas las propiedades de la inmobiliaria sin necesidad de establecer parámetros como precio, localidad, etc...
Adjunto el código tal cual lo usamos un poco resumido, pero igual sirve, no entiendo por qué no puedo mostrar solo los resultados sin antes pedir criterios de búsqueda...
Importante:
Las fotos están separadas en otra tabla diferente de la tabla de los datos de las propiedades y se cruzan a partir del Codigo.
Las fotos están en un directorio Fotos.
Necesitaría también aplicar un código para paginar.
Espero que pueda guiarte con estos datos...
CODIGO:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
function abreDetalle(cod)
{
 window.open("detalle.php?detalle=" + cod);
}
//-->
</SCRIPT>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<style type="text/css">
<!--
body {
    background-image: url(fondo_naranja_html.jpg);
}
a:link {
    color: #376439;
}
a:visited {
    color: #376439;
}
a:hover {
    color: #FFFFFF;
}
a:active {
    color: #376439;
}
.style11 {font-size: 14px; font-family: Geneva, Arial, Helvetica, sans-serif; color: #666666; }
.style17 {font-family: Geneva, Arial, Helvetica, sans-serif; color: #666666; font-size: 18px; }
.style20 {font-family: Geneva, Arial, Helvetica, sans-serif; color: #FFFFFF; font-size: 18px; }
.style21 {color: #FFFFFF}
.style22 {font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF; }
.style5 {font-size: 14px; color: #666666; font-family: Verdana, Arial, Helvetica, sans-serif;}
-->
</style>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
</head>
<body>
<table width="750" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="21" background="rayas.jpg">
<div align="center"><span class="style20">
<?
include "Conectar.php";
include "Vectores.php";
if($_POST[txtHid]!="" || $_GET[query]!="")
{
if ($_GET[query]!="")
{
$sql = $_GET[query];
} else {
$sql = "Select * from Inmuebles ";        
if ($_POST[cboTipo]!="INDISTINTO" ||
$_POST[cboCate]!="INDISTINTO / TODOS LOS TIPOS POSIBLES" ||
$_POST[cboEsta]!="INDISTINTO / TODOS LOS TIPOS POSIBLES" ||
$_POST[cboAmbi]!="INDISTINTO / TODOS LOS TIPOS POSIBLES")
{
$sql = $sql . " WHERE ";
if ($_POST[cboTipo]!="INDISTINTO / TODOS LOS TIPOS POSIBLES") {$sql = $sql . "(TIPO_OPER = '" . $_POST[cboTipo] . "') AND "; }
if ($_POST[cboCate]!="INDISTINTO / TODOS LOS TIPOS POSIBLES") {$sql = $sql . "(CATEGORIA = '" . $_POST[cboCate] . "') AND "; }
if ($_POST[cboEsta]!="INDISTINTO / TODOS LOS TIPOS POSIBLES") {$sql = $sql . "(ESTADO = '" . $_POST[cboEsta] . "') AND ";}
if ($_POST[cboAmbi]!="INDISTINTO / TODOS LOS TIPOS POSIBLES") {$sql = $sql . "(AMBIENTES = " . Substr($_POST[cboAmbi],0,2) . ")    ";}
$sql = substr($sql,0,strlen($sql)-4);
}
$sql = $sql . " ORDER BY CODIGO      ;";
}    
$rs = mysql_query($sql,$cnConex);
$max = mysql_num_rows($rs);
if ($max==0)
{
$frm = "
<p align=center><b>Lo sentimos..!!<br>Pero no hay coincidencias con los datos solicitados</b><br><br>";
$frm = $frm . "Pulse <a href=buscador.php>aqui</a> para volver a realizar otra búsqueda";
echo $frm;
die ("");
} else {
$rs = mysql_query($sql,$cnConex);
$max = mysql_num_rows($rs);        
$sql = substr($sql,0, strlen($sql)-22);
?>
</span></div>
</td>
</tr>
<tr>
<td height="122" align="center" valign="top" background="fondo_php.jpg" bgcolor="#FFFFFF"><form method="post" action="buscador.php">
<table width="90%" border="1" align="center" cellpadding="3" bgcolor="#999999">
<tr>
<th width="10%" align="center" bordercolor="#FFFFFF" bgcolor="#AFC5AB"><span class="style22">Foto </span> </th>
<th width="6%" align="center" bordercolor="#FFFFFF" bgcolor="#AFC5AB"><a href="buscador.php?query=<? Echo $sql .  " order by Codigo      ;"; ?>" class="style22">Codigo</a> </th>
<th width="7%" align="center" bordercolor="#FFFFFF" bgcolor="#AFC5AB"><a href="buscador.php?query=<? Echo $sql .  " order by Tipo_Oper   ;"; ?>" class="style22">Tipo</a> </th>
<th width="8%" align="center" bordercolor="#FFFFFF" bgcolor="#AFC5AB"><a href="buscador.php?query=<? Echo $sql .  " order by Categoria   ;"; ?>" class="style22">Categoría</a> </th>
<th width="8%" align="center" bordercolor="#FFFFFF" bgcolor="#AFC5AB"><a href="buscador.php?query=<? Echo $sql .  " order by Estado      ;"; ?>" class="style22">Estado</a> </th>
<th width="5%" align="center" bordercolor="#FFFFFF"...

2 respuestas

Respuesta
1
Buenosdias,
Para mostrar tu tabla y las relaciones que tengas que se deban mostrar para armar la vista con los datos para el usuario sin necesidad de criterios de busqueda, debes cargar los datos junto con la pagina en la que los quieres mostrar.
Segun veo en tu codigo llamas a la misma pagina para relizar la consulta con los criterios seleccionados.
Crea un script php aparte ejemplo cargarInmuebles.php y realiza tus consultas:
Ejemplo:
<?
include "Conectar.php";
include "Vectores.php";
//asumo que de esta tabla es donde estan tus datos
//si quieres mostrar todo traelo sin el WHERE
$sql = "Select * from Inmuebles order by CODIGO";
$rs = mysql_query($sql,$cnConex);
$max = mysql_num_rows($rs);
if ($max==0){
$frm = "
echo "
<p align=center><b>Lo sentimos..!!<br>Pero no hay coincidencias con los datos solicitados</b><br><br>";
$frm = $frm . "Pulse <a href=buscador.php>aqui</a> para volver a realizar otra búsqueda";
echo $frm;
die ("");
} else {
$rs = mysql_query($sql,$cnConex);
$max = mysql_num_rows($rs);        
$sql = substr($sql,0, strlen($sql)-22);
//Aca realizas tu codigo para mostrar al usuario los datos que desees con las fotos con las fotos
?>
Esto lo haces con php puro incluyendo si metes lainformacion en una tabla para ordenarla y darle formato y la pintas con un echo
Lo otro que debes hacer es hacer un include en la pagina donde quieres mostrarla y colocarlo en donde quieres que se vea.
Espero que te sirva de colaboracion y te doy un consejo trata de separar el codigo de la pagina delcodigo del negocio osea el html, el php y el js por que se hace mas entendible.
Respuesta
1
A ver te entiendo... lo que queires hacer es que cuando el usuaro abra por ejemplo muebles.php, esta pagina muestre por ejemplo 10 resultados.. ¿sin qué el usuario haga ningun proceso de seleccion?
Claro... El tema es asi.
Hoy el usuario tiene que hacer una consulta con 5 o 6 criterios.
Si no pone ningun criterio directamente le arroja todas las propiedades en cartera.  Lo que quiere el cliente es que esto sea directo, o sea si la persona entra a buscador.php directamente que arroje todas las propiedades sin hacer consulta alguna.
Esa es la primera parte de los cambios.
En realidad a esto hay que agregarle un paginador y dos cambios más, chicos pero trabajo al fin, y en la agencia estamos un poco apretados con el trabajo.
Estarás interesado en hacer el trabajo y cobrar por el mismo??
Mi mail es [email protected], necesitaría hoy la respuesta...
Comentame que te parece...
¿Amiugo yo estoy en colombia... tu donde estas?
Argentina.
mmm y como me pagarias.. ¿ves...?
Transferencia Bancaria.
Western Union.
No sé qué metodos tienen uds.
Pero lo mas correcto es la transferencia por la rapidez, yo aqui me manejo con Banco Galicia...
Te envie un correo no olvies valorar la repsyesta xd

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas