hi guys,
i want to show the latest album only. So i can have on top of the page the latest album (styled differently than the others).
and i want to show all (or a defined number) other albums but the first one.
how is this possible? - i thought about a function for the latest album and >zen_albumlist limit=5 offset=1> for the 5 latest without the one already shown with the first function.
here it is
function show_latest_album($number) {
$sql = "SELECT * FROM ". prefix("albums") ." ORDER BY id DESC LIMIT $number";
$result = mysql_query($sql);
echo '';
while($r = mysql_fetch_array($result)) {
echo '';
if ($r['thumb']==NULL) {
$image = get_album_image($r['id']);
} else {
$image = $r['thumb'];
}
if (zp_conf('mod_rewrite') == false) {
echo '.']';
echo '';
echo '';
echo '.']'.$r['title'].'';
} else {
echo '.']';
echo '';
echo '';
echo '.']'.$r['title'].'';
}
echo ''.$r['desc'].'';
echo '';
echo '';
echo '';
}
echo '';
}
function get_album_image($id) {
$sql = "SELECT * FROM ". prefix("images") ." WHERE albumid = $id";
$result = mysql_query($sql);
while($r = mysql_fetch_array($result)) {
return $r['filename'];
}
}
just add it to your zen/functions.php file end and then add show_latest_album($number) to your theme
Hi, I really want to use this script, unfortunately I have no idea how.
What I am looking for is, on the main page, display the last 3 or 4 albums (the most recently added), and then have a main page that contains all of the galleries.
Excuse my ignorance, but is this something that would be able to use to do that sort of thing?
yes.
http://anton.gektoras.lt/zenphoto/zenphoto-latest-albums
there is a screenshot(at the bottom) of how it looks
thanks for that function antoxa. I was looking for a 'list latest images' function like this. here's what I've come up with:
`
function list_latest_images($number) {
$sql = "SELECT * FROM ". prefix("images") ." ORDER BY id DESC LIMIT $number";
$result = mysql_query($sql);
while($r = mysql_fetch_array($result)) {
$id=$r['albumid'];
$sql="SELECT * FROM ". prefix("albums") ." WHERE id = $id";
$album = mysql_query($sql);
$a = mysql_fetch_array($album);
echo '';
echo '';
echo '[img]'.WEBPATH.'/zen/i.php?a='.$a['folder'].'&i='.$r['filename'].'&s=thumb[/img]';
echo '';
echo '';
}
}
`
I'm new to php and sql so It's not as robust as yours but it works for me.
Hope this might help.
I've already posted latest images function in this forum, so use search
I've also written latest comment function and optimised latest images and albums functions.
p.s.: my server is down due to problems with Internet, so i will put every thing here
http://anton.ponadiozin.googlepages.com/
as soon as i can
Is there a way to change the latest albums code above so you can limit the characters in the albums title (if too long)??
currently Im using this in my index.php for listing album titles
those album titles that are too long are shortened and a "..." is placed at the end of the title to show that it was shortened
is there a way to do the same with the above code, if you don't want longer album titles?
here is my(taken from zenphoto admin :] ) latest comments function
http://anton.ponadiozin.googlepages.com/zenphoto-latest-comments
i was wrong about truncate_string it doesn't work correctly here how it should look:
function truncate_string2($string, $length) {
if (strlen($string) > $length) {
$short = substr($string, 0, $length);
return $short. '...';
} else {
return $string;
}
}
paste it in your functions.php file
after that replace
echo ''.$r['title'].'';
with
$title = truncate_string2($r['title'], 25);
echo ''.$title.'';
sorry i mixed up a bit =)
just add to your title(album.php) and that is all
here is an example http://lovart.gektoras.lt/stickers/