我会尽量保持这个简单明了。我很擅长使用API,但我正在使用Flickr API根据某个标签在我的网站上搜索和显示照片。对于一个简单的静态网页,这很简单,我已经按照预期的方式工作了。这是我发现使用的jquery脚本:
$(function() {
var apiKey = 'MY_API_KEY_IS_IN_HERE';
var tag = '%23FFLIVE2014-09-03';
var perPage = '25';
var showOnPage = '6';
$.getJSON('http://api.flickr.com/services/rest/?format=json&method='+
'flickr.photos.search&api_key=' + apiKey +
'&tags=' + tag + '&per_page=' + perPage + '&jsoncallback=?',
function(data){
var classShown = 'class="lightbox"';
var classHidden = 'class="lightbox hidden"';
$.each(data.photos.photo, function(i, rPhoto){
var basePhotoURL = 'http://farm' + rPhoto.farm + '.static.flickr.com/'
+ rPhoto.server + '/' + rPhoto.id + '_' + rPhoto.secret;
var thumbPhotoURL = basePhotoURL + '_s.jpg';
var mediumPhotoURL = basePhotoURL + '.jpg';
var photoStringStart = '<a ';
var photoStringEnd = 'title="' + rPhoto.title + '" href="'+
mediumPhotoURL +'"><img src="' + thumbPhotoURL + '" alt="' +
rPhoto.title + '"/></a>;'
var photoString = (i < showOnPage) ?
photoStringStart + classShown + photoStringEnd :
photoStringStart + classHidden + photoStringEnd;
$(photoString).appendTo("#flickr");
});
$("a.lightbox").lightBox();
});
});
在页面上创建一个#flickr div并加载该脚本,如果有的话,将显示标记为#FFLIVE2014-09-03的照片。我的问题是我想要显示照片的网站/页面是动态的,数据库生成的数据。所以website.com/page.php是单页,数据库中是某个日期的数据和发生在它上面的性能(对于一个乐队)。
所以我正在努力的是如何动态编辑脚本中搜索的标签。将上面的脚本放在我的page.php中,显然page.php?id = 1和page.php?id = 261会显示相同的照片,因为搜索的标签实际上应该是相同的,基于它们数据的日期。
那么,有没有办法做到这一点?生成正确的日期标记以根据数据库数据进行搜索?我可以很容易地在PHP文件本身内生成正确的标记,只需回显标记的第一部分然后回显日期。但是我如何与javascript相关呢?我认为可以在Javascript中使用PHP,但这可能在数据库之外,所以它不知道它产生了什么。
我希望这是有道理的!