PDA

View Full Version : Array Problem


RomeoCharlie
08-18-2008, 08:29 PM
I am trying to get the latest 5 images from my PhotoPost vBGallery plugin and found some some code that someone had posted and modified it. No one seems to have looked at the thread @ PP in awhile so I thought I would try here since it is a generic PHP problem. I have it pretty much where I want it except for the thumbnails, the userid is repeated in the url part of the thumbnail:
(ignore the html tags, I am just messing around to test)
<div><a href="http://highsierraspotters.com/forum/gallery/showimage.php?i=4"><img src="http://highsierraspotters.com/forum/gallery/files/3/412_thumb.jpg" alt="N412ua" ></a></div><div><a href="http://highsierraspotters.com/forum/gallery/showimage.php?i=5"><img src="http://highsierraspotters.com/forum/gallery/files/3/3/412ua_thumb.jpg" alt="N412ua" ></a></div><div><a href="http://highsierraspotters.com/forum/gallery/showimage.php?i=3"><img src="http://highsierraspotters.com/forum/gallery/files/3/3/3/300_thumb.jpg" alt="N300sw" ></a></div><div><a href="http://highsierraspotters.com/forum/gallery/showimage.php?i=2"><img src="http://highsierraspotters.com/forum/gallery/files/3/3/3/3/300sw_thumb.jpg" alt="N300sw" ></a></div><div><a href="http://highsierraspotters.com/forum/gallery/showimage.php?i=1"><img src="http://highsierraspotters.com/forum/gallery/files/3/3/3/3/1/n921wn-rno-16r-aug22008_thumb.jpg" alt="N921wn-rno-16r-aug22008" ></a></div>

Here's the code:

$sql ="SELECT imageid,title, userid, thumbname, width, height, views
FROM ppgal_images
WHERE catid IN ($includecatids)
AND extension= 'jpg'
AND views > 1
ORDER BY dateline DESC
LIMIT 5";


$result = mysql_query($sql);


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

$imageid =$row['imageid'];
$userid = $row['userid'];
$filename = $row['filename'];
$title = $row['title'];
$width = $row['width'];
$height = $row['height'];
$thumbname = $row['thumbname'];



$arrChars = array();

for ($i = 0; $i < strlen($userid); $i++)
{
$arrChars[] = $userid[$i];
}

foreach ($arrChars as $char)
{

$uid = $uid . $char ."/";

}


echo "<div><a href=\"$galleryurl/showimage.php?i=$imageid\"><img src=\"$galleryfiles$uid$thumbname\" alt=\"$title\" ></a></div>";


}
@mysql_free_result($result);

TIA :)

--------------- Added 1219097473 at 1219097473 ---------------

Ok I was able to get it to work by deleting this part of the code:


$arrChars = array();

for ($i=0; $i < strlen($userid); $i++)
{
$arrChars[] = $userid[$i];
}

foreach ($arrChars as $char)
{

$uid = $uid . $char ."/";

} but is this the best way to do it?

Marco van Herwaarden
08-19-2008, 06:37 AM
And the error is?

Opserty
08-19-2008, 09:11 AM
$uid = $uid . $char ."/";
The 2nd $uid is the problem. Try something like:

$arrChars = array();
$uid = '';
for ($i=0; $i < strlen($userid); $i++)
{
$arrChars[] = $userid[$i];
}

foreach ($arrChars as $char)
{

$uid = $uid . $char ."/";

}

RomeoCharlie
08-19-2008, 12:05 PM
And the error is?
The loop was adding another uid with each consecutive picture eg:
http://highsierraspotters.com/forum/gallery/files/3/412_thumb.jpg
http://highsierraspotters.com/forum/gallery/files/3/3/412_thumb.jpg

I got it working, but was just wanting to make sure I did it the best way.


$uid = $uid . $char ."/";
The 2nd $uid is the problem. Try something like:

$arrChars = array();
$uid = '';
for ($i=0; $i < strlen($userid); $i++)
{
$arrChars[] = $userid[$i];
}

foreach ($arrChars as $char)
{

$uid = $uid . $char ."/";

}

Thanks, I will give that a try :)

That worked thanks :D