Foros del Web » Programando para Internet » PHP »

porke mi consulta me duplica los registros

Estas en el tema de porke mi consulta me duplica los registros en el foro de PHP en Foros del Web. hago una consulta con el sig. form <FORM METHOD="post" ACTION="buscarvivienda_r.php"> <p>TIPO DE VIVIENDA: <select size="1" name="tipo"> <option selected value="opc">OPCIONAL</option> <option value="CASA">CASA</option> <option value="CONDOMINIO">CONDOMINIO</option> <option value="DEPARTAMENTO">DEPARTAMENTO</option> ...
  #1 (permalink)  
Antiguo 20/02/2008, 11:55
Avatar de bandolera_triste  
Fecha de Ingreso: noviembre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 0
porke mi consulta me duplica los registros

hago una consulta con el sig. form

<FORM METHOD="post" ACTION="buscarvivienda_r.php">

<p>TIPO DE VIVIENDA:
<select size="1" name="tipo">
<option selected value="opc">OPCIONAL</option>
<option value="CASA">CASA</option>
<option value="CONDOMINIO">CONDOMINIO</option>
<option value="DEPARTAMENTO">DEPARTAMENTO</option>
<option value="PENHOUSE">PENHOUSE</option>
<option value="VILLA">VILLA</option>
</select>
</p>
<p>CATEGORIA:
<select name="categoria">
<option selected value="opc">OPCIONAL</option>
<option value="CIUDAD">CIUDAD</option>
<option value="PLAYA">PLAYA</option>
<option value="PUEBLO">PUEBLO</option>
</select>
</p>

<p>RANGO DE PRECIO
<select name="precioinicial">
<option selected value="opc">OPCIONAL</option>
<option value="500">$ 500</option>
<option value="1000">$1,000</option>
<option value="2000">$2,000</option>
<option value="3000">$3,000</option>
<option value="4000">$4,000</option>
<option value="5000">$5,000</option>
<option value="6000">$6,000</option>
</select>

<select name="preciofinal">
<option selected value="opc">OPCIONAL</option>
<option value="1000">$1,000</option>
<option value="2000">$2,000</option>
<option value="3000">$3,000</option>
<option value="4000">$4,000</option>
<option value="5000">$5,000</option>
<option value="6000">$6,000</option>
</select></p>
<p>DISPONIBILIDAD:
<select name="disponible">
<option selected value="opc">OPCIONAL</option>
<option value="SI">SI</option>
<option value="NO">NO</option>
</select>
&nbsp;&nbsp; </p>
<p>NIVELES:
<select name="nivel">
<option selected value="opc">OPCIONAL</option>
<option value="1">UNO</option>
<option value="2">DOS</option>
<option value="3">TRES</option>
</select>
</p>


<font color="#FF0099">NUMERO DE HABITACIONES:</font>
<select size="1" name="nh">
<option selected value="opc">OPCIONAL</option>
<option value="1"> UNO </option>
<option value="2"> DOS </option>
<option value="3"> TRES </option>
<option value="4"> CUATRO </option>
<option value="5"> CINCO </option>
</select>
<font color="#FF0099">NUMERO DE BAÑOS:</font>
<select size="1" name="nb">
<option selected value="opc">OPCIONAL</option>
<option value="1">UNO</option>
<option value="2">DOS</option>
<option value="3">TRES</option>
<option value="4">CUATRO</option>
<option value="5">CINCO</option>
</select>
ESTACIONAMIENTO PARA
<select size="1" name="coches">
<option selected value="opc">OPCIONAL</option>
<option value="1">1 AUTO</option>
<option value="2">2 AUTOS</option>
<option value="3">3 AUTOS</option>
<option value="4">4 AUTOS</option>
<option value="5">5 AUTOS</option>
</select>
<font color="#FF0099"><strong>SERVICIOS CON LOS QUE CUENTA:</strong></font>
<table border="1">
<TR>
<td><div align="center"><font color="#FF0099">ESTUDIO </font></div></td>
<td><div align="center"><font color="#FF0099">CUARTO DE SERVICIO</font></div></td>
<td><div align="center"><font color="#FF0099">ALBERCA</font></div></td>
<td><div align="center"><font color="#FF0099">TELEFONO</font></div></td>
<td><div align="center"><font color="#FF0099">INTERNET</font></div></td>

</TR>
<TR>
<td>SI: <input type="radio" value="SI" name="estudio"></td>
<td>SI: <input type="radio" value="SI" name="cs"></td>
<td>SI: <input type="radio" value="SI" name="alberca"></td>
<td>SI: <input type="radio" value="SI" checked name="tel"></td>
<td>SI: <input type="radio" value="SI" name="internet"></td>

</TR>
<TR>
<td>NO: <input type="radio" value="NO" name="estudio"></td>
<td>NO: <input type="radio" value="NO" name="cs"></td>
<td>NO: <input type="radio" value="NO" name="alberca"></td>
<td>NO: <input type="radio" value="NO" name="tel"></td>
<td>NO: <input type="radio" value="NO" name="internet"></td>

</TR>
<TR>
<td>OPCIONAL: <input type="radio" value="opc" checked name="estudio"></td>
<td>OPCIONAL: <input type="radio" value="opc" checked name="cs"></td>
<td>OPCIONAL: <input type="radio" value="opc" checked name="alberca"></td>
<td>OPCIONAL: <input type="radio" value="opc" checked name="tel"></td>
<td>OPCIONAL: <input type="radio" value="opc" checked name="internet"></td>
</TR>
</table>
<p><input type="submit" value="Enviar datos" name="enviar">
<input type="reset" value="Restablecer" name="B2"></p>
</FORM>

//de ahi mando a llamar el siguiente script
  #2 (permalink)  
Antiguo 20/02/2008, 11:55
Avatar de bandolera_triste  
Fecha de Ingreso: noviembre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: porke mi consulta me duplica los registros

enseguida hago la consulta con varios criterios

<table border=1 align=center width=100%>
<tr>
<th BGCOLOR = #FFAA56>FOTOS</th>
<th BGCOLOR = #FFAA56>DETALLES</th>
</tr>
<?php
include("conexion.php");

$tipo = $_POST['tipo'];
$categoria = $_POST['categoria'];
$precioinicial =$_POST['precioinicial'];
$preciofinal =$_POST['preciofinal'];
$disponible =$_POST['disponible'];
$nivel =$_POST['nivel'];
$nh =$_POST['nh'];
$nb =$_POST['nb'];
$coches =$_POST['coches'];
$estudio =$_POST['estudio'];
$cs =$_POST['cs'];
$alberca =$_POST['alberca'];
$tel =$_POST['tel'];
$internet =$_POST['internet'];

//aki es donde se hace la consulta de acuerdo a los criterios
$query = "SELECT * from vivienda,detalle_vivienda where 1 = 1";
if ($tipo !== "opc")
{$query.= " AND tipo_v = '{$tipo}'";}
if ($categoria !== "opc")
{$query.= " AND categoria = '{$categoria}'";}
if (($precioinicial !== "opc")&&($preciofinal == "opc"))
{$query.= " AND precio >= $precioinicial";}
if (($precioinicial == "opc")&&($preciofinal !== "opc"))
{$query.= " AND precio <= $preciofinal";}
if ($disponible !== "opc")
{$query.= " AND disponible = '{$disponible}'";}
if ($nivel !== "opc")
{$query.= " AND niveles = '{$nivel}'";}
if ($nh !== "opc")
{$query.= " AND detalle_vivienda.n_habitacion = '{$nh}'";}
if ($nb !== "opc")
{$query.= " AND detalle_vivienda.n_bath = '{$nb}'";}
if ($coches !== "opc")
{$query.= " AND detalle_vivienda.est = '{$coches}'";}
if ($estudio !== "opc")
{$query.= " AND detalle_vivienda.estudio = '{$estudio}'";}
if ($cs !== "opc")
{$query.= " AND detalle_vivienda.cuarto_service = '{$cs}'";}
if ($alberca !== "opc")
{$query.= " AND detalle_vivienda.alberca = '{$alberca}'";}
if ($tel !== "opc")
{$query.= " AND detalle_vivienda.tel = '{$tel}'";}
if ($internet !== "opc")
{$query.= " AND detalle_vivienda.internet = '{$internet}'";}


$res=mysql_query($query);

//aki es donde se muestra la consulta
while ($datos=mysql_fetch_array($res))
{
//echo $critero;
echo "<tr>
<td> CLAVE DE VIVIENDA .$datos[0].<BR>
NOMBRE DE LA VIVIENDA:.$datos[1].<BR>
TIPO DE VIVIENDA:.$datos[2].<BR>
LUGAR:.$datos[5].<BR>
TAMAÑO DE LA PROPIEDAD: .$datos[6].<BR>
PRECIO:.$datos[7].<BR>
DISPONIBLE: .$datos[8].<BR>
</td>
<td></td>
</tr>";
}
?>
</table>

pero cada registro me lo pone doble
porke?
  #3 (permalink)  
Antiguo 20/02/2008, 12:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: porke mi consulta me duplica los registros

Deberías de imprimir tu consulta, y hacerla en algún gestor de BDD para que veas si el problema es tu consulta, o el algoritmo de tu PHP.

Saludos.
  #4 (permalink)  
Antiguo 20/02/2008, 12:17
Avatar de bandolera_triste  
Fecha de Ingreso: noviembre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: porke mi consulta me duplica los registros

pues sip
porke imprimo mi cunsulta es porke lo puse
y si uso mysql

...
  #5 (permalink)  
Antiguo 20/02/2008, 13:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: porke mi consulta me duplica los registros

¿Que consulta es la que te genera? ¿Ya la probaste en tu gestor de BDD?

Saludos.
  #6 (permalink)  
Antiguo 20/02/2008, 13:39
Avatar de bandolera_triste  
Fecha de Ingreso: noviembre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: porke mi consulta me duplica los registros

Cita:
Iniciado por GatorV Ver Mensaje
¿Que consulta es la que te genera? ¿Ya la probaste en tu gestor de BDD?

Saludos.
pues sip
en mi gestor funciona bien
en modo comando
como veras mi consulta

si selecciona lo ke kiero
pero kreo ke mi error es la forma de imprimir los datos
los kiero poner en una tabla
registro por celda
y asi sucesivamente
  #7 (permalink)  
Antiguo 20/02/2008, 13:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: porke mi consulta me duplica los registros

No entiendo como esta eso de registro por celda, así el código tal cual lo tienes te debe de imprimir cada registro en una fila de tu tabla.

Saludos.
  #8 (permalink)  
Antiguo 20/02/2008, 14:04
Avatar de bandolera_triste  
Fecha de Ingreso: noviembre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: porke mi consulta me duplica los registros

bueno lo ke pasa es ke puedo imprimir cada registro por fila
pero en varias celdas

____________________________
id nombre empres
__________________________
1 hola chuchu
2 hallo chocho



como en este ejemplo
pero lo ke kiero es imprimir en una tabla
asi

_____________________________
detalles vivienda fotos
_______________________________
1
hola
chucchu
_______________________________
2
hallo chocho
_____________________________
asi merito como ves
pero pues me salen duplicados los registros
  #9 (permalink)  
Antiguo 20/02/2008, 14:17
Avatar de bandolera_triste  
Fecha de Ingreso: noviembre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: porke mi consulta me duplica los registros

dignme cual es el error en esta consulta
me da datos duplicados a la hora de imprimir
saludos

SELECT * from vivienda,detalle_vivienda where tipo_v != "opc" and
categoria != "opc" and
disponible != "opc" and niveles != "opc" and
detalle_vivienda.n_habitacion != "opc" and
detalle_vivienda.n_bath != "opc"
AND detalle_vivienda.est != "opc"
AND detalle_vivienda.estudio != "opc"
and detalle_vivienda.cuarto_service != "opc"
AND detalle_vivienda.alberca != "opc"
AND detalle_vivienda.tel != "opc"
AND detalle_vivienda.internet != "opc"
  #10 (permalink)  
Antiguo 20/02/2008, 15:41
Avatar de bandolera_triste  
Fecha de Ingreso: noviembre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: porke mi consulta me duplica los registros

ya se lo ke le fatla
un and mas


AND detalle_vivienda.id_v = vivienda.id_v

y lisot ya no duplica nada uju uju
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 13:14.