Foros del Web » Programando para Internet » PHP »

Ayuda Urgente...

Estas en el tema de Ayuda Urgente... en el foro de PHP en Foros del Web. TENGO QUE CREAR UN BUSCADOR HOTELERO MULTICRITERIO EL CUAL FILTRE POR CONTACTO (HOTELES), CIUDADES Y CATEGORIA. EL SIGUIENTE CODIGO ES EL PROGRAMA QUE ESTA DIVIDIDO ...
  #1 (permalink)  
Antiguo 25/09/2006, 20:48
Avatar de jimadri  
Fecha de Ingreso: julio-2006
Ubicación: Buenos Aires
Mensajes: 487
Antigüedad: 17 años, 10 meses
Puntos: 1
Ayuda Urgente...

TENGO QUE CREAR UN BUSCADOR HOTELERO MULTICRITERIO EL CUAL FILTRE POR CONTACTO (HOTELES), CIUDADES Y CATEGORIA.
EL SIGUIENTE CODIGO ES EL PROGRAMA QUE ESTA DIVIDIDO EN DOS PARTE: LA BUSQUEDA Y EL RESULTADO.
AGRADECERIA ME AYUDEN YA QUE EL TIEMPO CORRE.

GRACIAS.

<?

include ("inicio.php");


// Listado de Contactos


// Armo una coneccion al servidor mysql
$coneccion = mysql_connect($host_db, $usuario_db, $pass_db);
mysql_select_db($base_db, $coneccion);



if ($tipo == "buscar")
{

// Busco todos los tipos de contactos disponibles
$sql = "select * from tipo_contactos order by desc_tipo_contacto ";
$resulta = mysql_query($sql, $coneccion);

$sql = "select * from ciudades order by desc_ciudad ";
$result = mysql_query($sql, $coneccion);

// Armo el formulario de busqueda

?>

<form method="POST" action="lcontactos.php">
<table border="0" width="100%">
<tr>
<td width="100%" colspan="2" bgcolor="#DBDBDB"><b>Buscar Hoteles</b></td>
</tr>
<tr>
<td width="30%">
<p align="right">Buscar: </td>
<td width="70%"><input type="text" name="buscar" size="32"></td>
</tr>
<tr>
<td width="30%" height="25">
<p align="right">Ciudad: </td>
<td width="70%" height="25"><select size="1" name="ciudad">
<option value="" selected>Todas las Ciudades</option>

<?

// Muestro todos los tipos de contactos para armar la lista desplegable
while($myrow = mysql_fetch_array($result))
{
echo "<option value=$myrow[id_ciudad]>$myrow[desc_ciudad]</option>";
}
?>
</select></td>
</tr>
<tr>
<td width="30%" height="25">
<p align="right">Categoria: </td>
<td width="70%" height="25"><select size="1" name="cod_tipo_contacto">
<option value="" selected>Todas las Categorias</option>

<?

// Muestro todos los tipos de contactos para armar la lista desplegable
while($myrow = mysql_fetch_array($resulta))
{
echo "<option value=$myrow[id_tipo_contacto]>$myrow[desc_tipo_contacto]</option>";
}
?>
</select></td>
</tr>
<tr>
<td width="30%"></td>
<td width="70%"><input type="submit" value="Enviar" name="envio"></td>
</tr>
</table>
</form>
<p>&nbsp;</p>

<?
}

else

{
// Listamos los contactos

// Armo la consulta
$sql = "select * from contactos, tipo_contactos, ciudades
where cod_tipo_contacto = id_tipo_contacto and contactos.id_ciudad = ciudades.id_ciudad ";

if ($buscar != '')
{
$sql.=" and ((apellido like '%$buscar%') or (nombre like '%$buscar%')) ";
}

if ($cod_tipo_contacto != '')
{
$sql.=" and cod_tipo_contacto = $cod_tipo_contacto ";
}

if ($ciudad != '')
{
$sql.=" and id_ciudad = $ciudad ";
}

// Ordeno
if ($orden != '')
{
$sql.=" order by $orden ";
}


$resultado = mysql_query($sql, $coneccion);

if (mysql_error())
{
echo "ERROR al agregar el Tipo de Contacto - ". mysql_errno().":". mysql_error()."<br>";
}


// Calculo la cantidad de resultados

$cant_resultados = mysql_num_rows($resultado);

if ($cant_resultados >= 1)
{

// Muestro los resultados

echo "Se han encontrado $cant_resultados resultados<br>";
?>


<?

while($myrow = mysql_fetch_array($resultado))
{

// Armo link para editar
$leditar = "econtactos.php?id_contacto=$myrow[id_contacto]";
$lborrar = "bcontactos.php?id_contacto=$myrow[id_contacto]";

?>

<table border="1" width="100%" cellpadding="4" cellspacing="0">
<tr>
<td width="100%" bgcolor="#DBDBDB"><b><? echo "Hotel $myrow[apellido]"; ?> <? echo $myrow[nombre]; ?></b></td>
</tr>
<tr>
<td width="100%">Ciudad: <? echo $myrow[desc_ciudad]; ?></td>
</tr>
<tr>
<td width="100%">Categoria: <? echo $myrow[desc_tipo_contacto]; ?></td>
</tr>
<tr>
<td width="100%">Dirección: <? echo $myrow[direccion]; ?></td>
</tr>
<tr>
<td width="100%">Teléfono: <? echo $myrow[telefono]; ?></td>
</tr>
<tr>
<td width="100%">E-mail: <? echo $myrow[e_mail]; ?>&nbsp;&nbsp;
| Web Site: <? echo $myrow[web_site]; ?> </td>
</tr>
<tr>
<td width="100%">Observaciones: <? echo $myrow[observaciones]; ?></td>
</tr>
<tr>
<td width="100%"><a href="<? echo $leditar; ?>">Editar</a>&nbsp;&nbsp;&nbsp; <a href="<? echo $lborrar; ?>">Borrar</a></td>
</tr>
</table>


<?
} // end while

}
else
{
echo "No se han encontrado resultados coincidentes<br>";
}




}

include("pie.php");

?>



ME GUSTARIA SABER CUAL ES EL ERROR QUE TENGO YA QUE ASI COMO ESTA ME TIRA ERROR EN LA LINEA 123 PERO NO SE CUAL ES EL ERROR.

MUCHAS GRACIAS....
  #2 (permalink)  
Antiguo 25/09/2006, 22:40
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años, 1 mes
Puntos: 0
Tendrias que postear el error que tira.
Saludos.-

EDIT:
El error esta en tu consulta sql, seguramente tienes un campo ambiguo, es decir dos o mas campos con el mismo nombre, entonces el sql no sabe a cual usar, debes usar el nombre de la tabla punto y el campo como lo haces en la primera variable $sql
es decir: ciudades.id_ciudad
a eso me refiero.
Y sino, postea el error que es la mejor forma en la que te podemos ayudar, porque si leemos 90000 mil lineas de codigo sin saber que tipo de error buscamos se complica.
Saludos.-
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-

Última edición por Znet; 25/09/2006 a las 22:45 Razón: Encontre una posible solucion
  #3 (permalink)  
Antiguo 26/09/2006, 06:34
Avatar de jimadri  
Fecha de Ingreso: julio-2006
Ubicación: Buenos Aires
Mensajes: 487
Antigüedad: 17 años, 10 meses
Puntos: 1
Gracias Por Contestar.
El Error Que Tira Es Ahora No Me Lo Acuerdo Pero Menciona 'id_ciudad' Y Ambiguo.
Cuando Lo Prueba Copio El Error Y Lo Posteo.
Desde Ya Gracias.
  #4 (permalink)  
Antiguo 26/09/2006, 06:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Será posible que no escribas todo tu mensaje en mayusculas y que no pongas títulos como "Ayuda urgente" que no aclaran para nada algo sobre el problema que tienes en el título de tu mensaje?.

Usa el botón "PHP" para indicar código .. (se verá más ordenado y coloreado el código para facilitar su lectura).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 26/09/2006, 18:25
Avatar de jimadri  
Fecha de Ingreso: julio-2006
Ubicación: Buenos Aires
Mensajes: 487
Antigüedad: 17 años, 10 meses
Puntos: 1
Solucionado...

Gracias ZNet, tenias razon tenia que cambiar el nombre el campo id_ciudad en la tabla contacto por algo parecido.
Lo probé y anda!!!!
Ahora solo me falta agregarle un link de +info que me lleve a una pagina detalle del hotel buscado.
Si puedes darme una mano en esto te agradeceria denuevo.

Jimadri
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:45.