RE: [PHP] Create a matrix gallery
| From: | Yamil Ortega | Date: | Tue, 04 Sep 2007 04:53:00 +0000 |
| Subject: | RE: [PHP] Create a matrix gallery | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-261670@lists.php.net to get a copy of this message | ||
> -----Mensaje original-----
> De: Stut [mailto:stuttle@gmail.com]
> Enviado el: Lunes, 03 de Septiembre de 2007 06:31 p.m.
> Para: Humani Power
> CC: php-general@lists.php.net
> Asunto: Re: [PHP] Create a matrix gallery
>
> Humani Power wrote:
> > hi list. I wonder if anyone can help me with this.
> > i have a database with the file name of several images stored in a
> > filesystem, and I want to create a table containing the image results of
> a
> > query.
> >
> > this is my code
> >
> <snip>
> > while ($rows=mysql_fetch_assoc($getpic))
> > {
> > extract ($rows);
> > echo "<tr>";
> > echo "<td><a
> > href=editing_image.php?pic=".$rows['image_id']."><img
> > src=".$ImageThumb.$rows['image_id'].".jpg></td>";
> > }
> <snip>
> > With this code, I am able to see the thumb images with their respective
> link
> > ok, but if I have a query with 40 results, I will have a big row of
> images.
> > ____________________________________________________
> >
> > |pic1 | pic2 | pic3 | pic4 | pic5 | pic6 | pic7 | pic8 | pic9 | pic10 |
> > ______________________________________________________
> >
> >
> > What I want to to do is insert a new <td> after showing 5 thumb images,
> and
> > continue with the next picture on the next row.
> > something like this
> > __________________________
> > |pic1 | pic2 | pic3 | pic4 | pic5 |
> > __________________________
> > |pic6 | pic7 | pic8 | pic9 | pic10 |
> > __________________________
> > |pic11 | pic12 | pic13 |
> > __________________
>
> This is really quite simple...
>
> $col = 1;
> while ($rows=mysql_fetch_assoc($getpic))
> {
> extract ($rows);
> if ($col == 1) echo "<tr>";
> echo "<td><a
> href=editing_image.php?pic=".$rows['image_id']."><img
> src=".$ImageThumb.$rows['image_id'].".jpg></td>";
> if ($col++ == 5)
> {
> echo "</tr>";
> $col = 1;
> }
> }
>
> Not sure why you are using extract when you then go on to use $rows as
> an array. Also, you're lacking quotes around the href in the link you
> output, and also the src in the image. It's also missing a closing </a>
> tag. And you should be using urlencode when putting values into a URL.
> And while I'm at it, $row is more semantically correct than $rows.
>
> Try this...
>
> $col = 1;
> while ($row = mysql_fetch_assoc($getpic))
> {
> if ($col == 1) echo '<tr>';
> $image_id = urlencode($row['image_id']);
> echo '<td><a
> href="editing_image.php?pic='.urlencode($image_id).'"><img
> src="'.$ImageThumb.urlencode($image_id).'.jpg"
> /></a></td>';
> if ($col++ == 5)
> {
> echo '</tr>';
> $col = 1;
> }
> }
>
> -Stut
>
> --
> http://stut.net/