Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

bucle complejo

10 views
Skip to first unread message

gabi

unread,
Dec 26, 2011, 2:33:30 PM12/26/11
to
Necesito crear un bucle que me de este resultado
<div class="container">
<div class="content">
<div><a href="#"><img src="images/albumverano/thumbs/1.jpg"
alt="images/albumverano/1.jpg" class="thumb" /></a></div>
</div>

<div class="content">
<div><a href="#"><img src="images/albumverano/thumbs/2.jpg"
alt="images/albumverano/2.jpg" class="thumb" /></a></div>
</div>

</div> //fin div container

<div class="container">
<div class="content">
<div><a href="#"><img src="images/albuminvierno/thumbs/1.jpg"
alt="images/albuminvierno/1.jpg" class="thumb" /></a></div>
</div>

<div class="content">
<div><a href="#"><img src="images/albuminvierno/thumbs/2.jpg"
alt="images/albuminvierno/2.jpg" class="thumb" /></a></div>
</div>

</div> //fin div container

Cada vez que el album cambia de valor ha de cerrarse el div de
container
No me sale como hacerlo.

Lo intenté así pero claro me cierra el div de container despues de
cerrar cada content i lo que necesito es que se cierre cuando el album
(variable de carpeta_en->en la base de datos) cambia:

$res = mysql_query("SELECT * FROM fotosegaleria,egaleria WHERE
fotosegaleria.id_carpeta=egaleria.id") or die (mysql_error());

while ($row = mysql_fetch_array($res)){

$carpetadir=$row['carpeta_en'];
$gran= $row['big'];
$petita= $row['small'];
$url="../albums/$carpetadir";
$urlt="../albums/$carpetadir/thumbs";
echo "<div class='container'>";
echo "<div class='content'><div><a href='#'><img src='$urlt/$petita'
alt='$url/$gran' class='thumb' /></a></div></div>";

echo "</div>";

}
Quiero conseguir esta galeria
http://tympanus.net/Tutorials/SliderGallery/
y me falta solo este dichoso bucle para conseguirla

Espero haberme explicado bien
Una ayuda por favor
Gracias
Gabi

Ricardo Palomares Martínez

unread,
Dec 26, 2011, 7:29:53 PM12/26/11
to
El 26/12/11 20:33, gabi escribió:
> Necesito crear un bucle que me de este resultado
> <div class="container">
> <div class="content">
> <div><a href="#"><img src="images/albumverano/thumbs/1.jpg"
> alt="images/albumverano/1.jpg" class="thumb" /></a></div>
> </div>
>
> <div class="content">
> <div><a href="#"><img src="images/albumverano/thumbs/2.jpg"
> alt="images/albumverano/2.jpg" class="thumb" /></a></div>
> </div>
>
> </div> //fin div container
>
> <div class="container">
> <div class="content">
> <div><a href="#"><img src="images/albuminvierno/thumbs/1.jpg"
> alt="images/albuminvierno/1.jpg" class="thumb" /></a></div>
> </div>
>
> <div class="content">
> <div><a href="#"><img src="images/albuminvierno/thumbs/2.jpg"
> alt="images/albuminvierno/2.jpg" class="thumb" /></a></div>
> </div>
>
> </div> //fin div container
>
> Cada vez que el album cambia de valor ha de cerrarse el div de
> container
> No me sale como hacerlo.


Prueba así:

$res = mysql_query("SELECT * FROM fotosegaleria,egaleria WHERE
fotosegaleria.id_carpeta=egaleria.id") or die (mysql_error());
$num_rows = mysql_num_rows();

$row = mysql_fetch_array($res);
if ($num_rows > 0) {
// Comenzamos abriendo un div container
echo "<div class='container'>";
}

while ($row){
$carpetadir=$row['carpeta_en'];
$gran= $row['big'];
$petita= $row['small'];
$url="../albums/$carpetadir";
$urlt="../albums/$carpetadir/thumbs";

echo "<div class='content'><div><a href='#'><img src='$urlt/$petita'
alt='$url/$gran' class='thumb' /></a></div></div>";

$row = mysql_fetch_array($res);
if ($row) {
// Hay más filas, pero... ¿son del mismo container?
if ($carpetadir!=$row['carpeta_en']) {
// No son del mismo container, luego lo cerramos y abrimos otro
echo "</div>";
echo "<div class='container'>";
}
}
}


// Una vez finalizado el bucle,
// cerramos el último div container si es necesario
if ($num_rows > 0) {
echo "</div>";
}


No he probado el código yo mismo, así que a lo mejor necesitas
retocarlo, pero espero que te dé una idea inicial. Seguramente hay
soluciones más elegantes dividiendo la consulta SQL en dos, una con la
lista de carpetas afectadas y otra, ejecutada para cada carpeta
diferente, con las fotos en sí.

Saludos.

--
Ricardo Palomares (RickieES)
Diaspora: https://diasp.eu/u/rickiees
Skype: rickie0341971
Jabber: rpmdisgu...@jabber.org



--- Posted via news://freenews.netfront.net/ - Complaints to ne...@netfront.net ---

gabi

unread,
Dec 27, 2011, 5:28:16 PM12/27/11
to

Mil gracias Ricardo es justo lo que necesitaba, ha sido un gran regalo
de navidad pués ya me estaba volviendo loco para sacar este código
perfecto que me has ofrecido
Un abrazo
Gabi
0 new messages