我正在fancybox中创建一个图片库,但我正在尝试自动化图片上传。
Fancybox图库是<a>
标记的集合,但列出的第一个<a>
标记也有一个<img>
标记,可以像这样打开缩略图:
<a href="image1.jpg"><img src="image1thumb.jpg"></a>
<a href="image2.jpg"></a>
<a href="image3.jpg"></a>
目前,我必须为我上传的每个新图片手动添加<a>
标签,这将是单调乏味的。我宁愿将链接添加到mySQL数据库,然后由一段PHP获取。
简单的英文代码如下:
对于上次上传的文件,请显示<a href.......><img src=.......></a>
,然后仅显示<a href........></a>
所有其他图片。
我已经拥有上次上传文件的代码,显示为$ lastupload,但我正在努力使用foreach循环。到目前为止,我有:
foreach ($lastupload) {
echo '<a class="fancybox" rel="'.$r["rel"].'" href="'.$r["imagelink"].'" title="'.$r["comment"].'"><img src="thumb.jpg"></a>';
}
else {
echo '<a class="fancybox" rel="'.$r["rel"].'" href="'.$r["imagelink"].'" title="'.$r["comment"].'"></a>
}
现在,我知道这段代码基本上没用了。我知道我在初始的foreach括号中需要更多,而且其他不应该是这个循环的一部分(它应该是foreach / ifelse),但我不知道如何继续进行。我看过的所有例子都说明了我不确定是否符合我要做的事情。另外,到目前为止我还没有看过如何从mySQL数据库生成链接列表的示例。
你能给予的任何帮助都会有很长的路要走。
由于
答案 0 :(得分:0)
你看过foreach()
循环实际上是如何工作的吗?您不需要计算此特定循环。或者你可以循环直到你的结果结束(见下文)。
http://php.net/manual/en/control-structures.foreach.php
至于从数据库中提取链接,请查看mysqli_fetch_assoc()
。有一些while()
循环的示例可用于查询。
http://php.net/manual/en/mysqli-result.fetch-assoc.php
请看PHP.net手册中的上述示例,这是一个非常好的信息来源。
答案 1 :(得分:0)
我不确定我完全理解你的问题。我不知道你的例子里有什么$ r,但是我可以告诉你想要做这样的事情:
$i = 0;
foreach ($r as $row) {
if ($i == 0) {
echo '<a class="fancybox" rel="'.$row["rel"].'" href="'.$row["imagelink"].'" title="'.$row["comment"].'"><img src="'.$lastupload.'"></a>';
}
else {
echo '<a class="fancybox" rel="'.$row["rel"].'" href="'.$row["imagelink"].'" title="'.$row["comment"].'"></a>
}
$i++;
}
答案 2 :(得分:0)
答案不是要查找上次上传的文件,只是以不同方式处理查询的第一个结果。
这是我得到的完整代码:
<?php
$foo_query->setFetchMode(PDO::FETCH_ASSOC);
$is_first=false;
while($r=$foo_query->fetch()) {
if($is_first) {
echo '<a...blah blah blah><img src="thumb.jpg"></a>';
} else {
echo '<a...more blah></a>';
}
}
?>