Jump to content

Need help getting photos in array and display in loop, returning none now


Recommended Posts

 

I am trying to return all  the photos in the database that has the albumid associated with that table info. I can echo the $album->id (albumid) no problem, but my query it think is somewhat off. Please anyone.

 

<div id="photo-items" class="photo-list-item">
<?php
echo $album->id.'<br>';

// fetch album photos and ids
$database    =& JFactory::getDBO();
$query  = "SELECT * FROM jos_photos where albumid  = ".$album->id." ORDER BY ASC";
$photos = mysql_query($query);	 //This returns and array of photos, but then needs to display all the photos in loop below, but it not retuning none, even if there is 100 photos in table and in the folder directory

if($photos)
{	
for( $i=0; $i<count($photos); $i++ ){
$row =& $photos[$i];
?>
	<div class="photo-item" id="photo-<?php echo $i;?>" title="<?php echo $this->escape($row->caption);?>">
		<a href="<?php echo $row->link;?>"><img class="" src="<?php echo $row->getThumbURI();?>" alt="<?php echo $this->escape($row->caption);?>" id="photoid-<?php echo $row->id;?>" /></a>
		<?php
		if( $isOwner )
		{
		?>
		<div class="photo-action">
			<a href="javascript:void(0);('<?php echo $row->id;?>');" class="remove"><?php echo JText::_('CC REMOVE');?></a>
		</div>
		<?php
		}
		?>
	</div>
<?php
	}
}
else
{
?>
<div class="empty-list"><?php echo JText::_('CC NO PHOTOS UPLOADED YET');?>   <button class="button button-upload" href="javascript: void(0);&userid=88" id="upload-photos-button">Start Uploading</button></div>
<?php
}
?>
</div>


I just love copy/pasting the same answer across forums.

//This returns and array of photos

No, it doesn't. $photos is a resource that you use to get rows of data via functions like mysql_fetch_array.

Thanks to all here, I solved this issue. I re-wrote the query to fiot joomla standard API.

 

It worked fine.

 


	$db    =& JFactory::getDBO();

	/**
	 * Cast album ID to int to prevent possible SQL injection even though data looks relatively safe. You
	 * could also use mysql_real_escape_string but casting to an int seems simpiler and essentially provides
	 * the same result in regards to avoiding SQL injection.
	 */

	$query  = "SELECT * FROM jos_photos where albumid  = ".$album->id." ORDER BY id ASC";

	/**
	 * The return value of mysql_query when selecting data is either false (failed query) or result resource (success)
	 */
	//echo $query;
	//$result = mysql_query($query);
	$db->setQuery($query);
	$results = $db->loadObjectList(); 
	//This returns and array of photos, but then needs to display all the photos in loop below, 
	//but it not retuning none, even if there is 100 photos in table and in the folder directory


	if(count($results)) {
		foreach($results as $row) {
			//echo $row->id;
			//echo $row->thumbnail;

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.