我正在做一个项目,该项目允许用户搜索Flickr,并从结果列表中选择某些图像,然后可以在图库中查看。我会写下我迄今为止创建的流程,并解释我的困境。
索引页面只是一个搜索栏和一个提交按钮。用户键入搜索词并点击提交,其中表单操作为action=flickrcall.php
flickcall.php的作用是:
<?php
require_once('flickr.php');
$Flickr = new Flickr;
$data = $Flickr->search($_POST["search"]);
foreach($data['photos']['photo'] as $photo) {
echo '<img class="large" onclick="select(this)" src="' . 'http://farm' . $photo["farm"] . '.static.flickr.com/' . $photo["server"] . '/' . $photo["id"] . '_' . $photo["secret"] . '.jpg">';
}
?>
这将生成一个图像结果列表,无论我指定的数字是多少,现在都是10。结果是其中的10个:
<img class="large" id="test" onclick="select(this)" src="flickr.img.url.jpg" />
我想做的是用<a href="#img1"></a>
包裹第一个<img>
,然后用<a href="#img2"></a>
包裹第二个<img>
,以此类推
我认为这样做的方法是以某种方式创建一个变量(让我们称之为$hrefNumber
),它将计算出有多少结果,并在上面的echo语句中使用该变量:
echo '<a href="#img' . $hrefNumber . '">
<img class="large" onclick="select(this)" src="' . 'http://farm' . $photo["farm"] . '.static.flickr.com/' . $photo["server"] . '/' . $photo["id"] . '_' . $photo["secret"] . '.jpg">'
</a>
;
问题是,我现在不知道如何创建这样一个变量,也不知道在哪里声明/写入它
这有道理吗?听起来我是走在正确的轨道上,还是偏离了轨道?
$counter=0;
foreach($data['photos']['photo'] as $photo) {
$counter++;
echo '<a href=''#img'.$counter.'''><img class="large" onclick="select(this)" src="' . 'http://farm' . $photo["farm"] . '.static.flickr.com/' . $photo["server"] . '/' . $photo["id"] . '_' . $photo["secret"] . '.jpg"></a>';
}
或
foreach($data['photos']['photo'] as $counter => $photo) {
echo '<a href=''#img'.$counter.'''><img class="large" onclick="select(this)" src="' . 'http://farm' . $photo["farm"] . '.static.flickr.com/' . $photo["server"] . '/' . $photo["id"] . '_' . $photo["secret"] . '.jpg"></a>';
}