Foros del Web » Programando para Internet » PHP »

No repetir tabla al mostrar resultados de mysql

Estas en el tema de No repetir tabla al mostrar resultados de mysql en el foro de PHP en Foros del Web. Hola que tal, quisiera saber si me pueden ayudar con esto: Tengo el siguiente problema, tengo un sistema de busqueda de propiedades, el usuario al ...
  #1 (permalink)  
Antiguo 22/09/2006, 13:52
 
Fecha de Ingreso: abril-2004
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
No repetir tabla al mostrar resultados de mysql

Hola que tal, quisiera saber si me pueden ayudar con esto:

Tengo el siguiente problema, tengo un sistema de busqueda de propiedades, el usuario al hacer su busqueda se le despliegan todos los resultados, pero en este sistema tengo propiedades destacadas y propiedades simples, y lo que quiero es que me genere una tabla de este estilo...


---Propiedades destacadas--------------------
propiedad precio recamaras banos
Casa 10000 3 3
Departamento 20000 2 1
---Listado Simple------------------------------
Terreno 3000 - -
Casa 4000 2 1

1 | 2 | 3 | 4 | next

mi problema es el siguiente no logro que me aparezca exactamente como la tabla de arriba, al mostrar los resultados me repite las tablas por cada registro

---Propiedades destacadas--------------------
propiedad precio recamaras banos
Casa 10000 3 3
---Propiedades destacadas--------------------
propiedad precio recamaras banos
Departamento 20000 2 1
---Listado Simple------------------------------
propiedad precio recamaras banos
Terreno 3000 - -
---Listado Simple------------------------------
propiedad precio recamaras banos
Casa 4000 2 1

1 | 2 | 3 | 4 | next


Se que hace esto por que es un ciclo el que utilizo para generar mi resultado, pero quisiera saber si me pueden ayudar con alguna forma para que no me repita los encabezados de las tablas en este caso Propiedad destacada y listado simple, la forma en que lo hago es mas o menos esta...

while($row = mysql_fetch_array($result)){ ///comienza mi while
if ($destacado==1) { // pregunto si la propiedad es destacada

<table>Propiedad destacada</table> // si es asi, pone una tabla con el titulo destacada
--y aqui pongo mis columnas con los datos de mis propiedades destacadas-

} else{ // si no es destacada
<table>Listado Simple </table> // pongo una tabla con el titulo listado simple

--y aqui pongo mis columnas con los datos de mis propiedades simples---

} } cierro mi ciclo y abajo pongo la paginacion

1 | 2 | 3 | 4 | 5

Esta es la unica forma que conozco para poder mostrar mis resultados, pero necesito encontrar la manera de que no me repita las tablas con los titulos de Propiedades Destacadas y Listado simple,

Imagino que para que no pase esto, tendria que poner mis tablas fuera del while y luego mostrar los resultados, pero entonces ahi es donde me pierdo, porque no se como separar mis registros y acomodar unos en destacados y otros en listado simple y que siga funcionando mi paginacion...

Espero me haya explicado, les agradezco de antemano cualquier ayuda
  #2 (permalink)  
Antiguo 22/09/2006, 17:29
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 14 años
Puntos: 0
Saca los encabezados del While y listo ;).

Saludos.
  #3 (permalink)  
Antiguo 25/09/2006, 11:01
 
Fecha de Ingreso: abril-2004
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
gracias por responder

Gracias por responder, pero definitivamente eso no me soluciona el problema, porque no siempre aparecerian los encabezados de esas tablas, solo aparecerian dependiendo si es una propiedad destacada o es una propiedad de listado simple, pero gracias por contestar...
  #4 (permalink)  
Antiguo 25/09/2006, 12:17
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 15 años, 9 meses
Puntos: 0
vamos a suponer que en tu BD tienes un campo que dice si la propiedad es destacada o normal, si es asi, bueno antes de while tienes que hacer un if esto destacada else normal y despues haces el while, se entiende?


saludos
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #5 (permalink)  
Antiguo 07/01/2007, 18:50
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 14 años, 6 meses
Puntos: 1
Re: No repetir tabla al mostrar resultados de mysql

puedes crear unas variables que te digan si ya ha sido mostrada cada una de las cabeceras.

esto haría que la primera condición sea:
que $destacado ==1 y que además $titulo1 == 0
dentro de la condición cambiamos el valor de $titulo1=1;
entonces en el segundo bucle no va a coincidir las condiciones requeridas para que se muestre la cabecera

esto haría que la segunda condición sea:
que $destacado == 0 y que además $titulo2 == 0
dentro de la condición cambiamos el valor de $titulo2=1;
entonces en el segundo bucle no va a coincidir las condiciones requeridas para que se muestre la cabecera.

aquí te dejo uno armado. espero haberte ayudado.

$titulo1 = $titulo2 = 0;

while($row = mysql_fetch_array($result)){ ///comienza mi while
if ($destacado==1 && $titulo1 == 0) { // pregunto si la propiedad es destacada y si no se mostró anteriormente el titulo de las propiedades destacadas

<table>Propiedad destacada</table> // si es asi, pone una tabla con el titulo destacada
--y aqui pongo mis columnas con los datos de mis propiedades destacadas-
$titulo1 = 1;

} elseif($destacado==1 && $titulo2 == 0){ // si no es destacada y si no se mostró anteriormente el titulo del listado simple

$titulo2 = 1;
<table>Listado Simple </table> // pongo una tabla con el titulo listado simple

--y aqui pongo mis columnas con los datos de mis propiedades simples---

} } cierro mi ciclo y abajo pongo la paginacion

1 | 2 | 3 | 4 | 5
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 04:37.