Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2011, 09:02
Miexeker
 
Fecha de Ingreso: enero-2008
Mensajes: 14
Antigüedad: 16 años, 3 meses
Puntos: 0
While dentro de while consulta sql problema avanzando de fila

Tengo un problema con una consulta.

Necesito sacar todas las filas que comportan el miso valor en 1 de los campos (eso lo hago con like) y luego dentro de todos esos, ir sacandolos por orden (son provincias, asi que primero, todos los de malaga, luego todos los de granada, etc). El problema es que nose con antelacion los valores que habra, es decir, que debe poder introducirse previamente ai el nombre de provincia que se quiera, sin que sean 5 entre las que elegir, o algo asi. Y tengo que ir escribiendo primero la provincincia que es, y luego todas las filas que hay de esa provincia. Nose si me explico muy bien. algo asi:

Granada:
Fila 1
Fila 2
Fila 3

Sevillla:

Fila1
Fila2

etc...

La cosa es que los titulares "granada, sevilla" tendrian que escribirse automaticamente y nose muy bien como hacerlo, no tengo mucho conocimiento de php y sql, a ver si me podeis hechar una manita.

El codigo que tengo por ahora es algo asi:

<?php


$consulta1 = "SELECT * FROM casas WHERE destacada LIKE 'NO%' ORDER BY provincia DESC";

$resultado1=mysql_query($consulta1) or die ("error:".mysql_error());

while ($fila1=mysql_fetch_array ($resultado1)){

$like = $fila1['provincia'];

echo "<h1>".$fila1['provincia']."</h1>"; //Escribe el nombre de provincia bajo el que iran las filas

$consulta2 = "SELECT * FROM casas WHERE provincia LIKE '".$like."' AND destacada LIKE '%NO%'";

//echo $consulta2;

$resultado2=mysql_query($consulta2) or die ("error:".mysql_error());

while ($fila2=mysql_fetch_array ($resultado2)){

?>


<?php echo $fila2['zona']; ?></p>


<img class="imgpekena" src="<?php echo $fila1['imgp']; ?><br />

<?php echo $fila2['titulo']; ?><br />
Localizaci&oacute;n: <?php echo $fila2['localizacion']; ?><br />
R&eacute;gimen: <?php echo $fila2['regimen']; ?><br />
Precio: <?php echo $fila2['precio']; ?><br />


<br />


<?php

}
}
?>

El problema es que si tengo mas de 1 fila de la misma provincia, se repite el enunciado y luego otra vez todas las filas correspondientes, debido a que el while que esta dentro del while avanza de fila, pero el otro no lo hace.
He pensado que quizas la solución sera contar cuantas vueltas da el 2º while e indicarle al primero de alguna manera que base ese numero de filas para que no suceda la repeticion, pero nose si es posible hacer eso, o si directamente habra una manera mas sencilla de hacerlo y me estare complicando mucho.

Espero que podais ayudarme, muchas gracias por adelantado.