php - 显示数据库中存储的图像

标签 php mysql gallery

我正在做画廊,我需要一些帮助。我已通过网站将图像上传到数据库 - 它们存储在 MySQL(名称)和名为 images 的文件夹中。我想要的是将它们排列显示(微型图),然后单击放大它们。

我的代码所做的是显示微缩模型并将它们链接到任何内容:/...

这是我的代码:

<?php
$hostname_connect= "localhost";
$database_connect= "gallery";
$username_connect= "root";
$password_connect= "root";
$connect_solning = mysql_connect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR);
                                @mysql_select_db($database_connect) or die (mysql_error());

$query_image = "SELECT * FROM gallery_images";

$result = mysql_query($query_image);
if(mysql_num_rows($result) > 0)
{
while($row = mysql_fetch_array($result))
{
?>
<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">
<?php
echo '<img alt="gallery" src="images/'.$row["image"].'" class="pic-resize" alt=""></a>';
                                    }
while($row = mysql_fetch_array($result))
{
?>
<div id="light" class="white_content">
<?php
echo '<img alt="gallery" src="images/'.$row["image"].'" class="" alt=""></a>';
                                            ?>
<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'">Close</a>
</div>
<?php
}
}
else
{
echo 'File name not found in database';
}

?> 

最佳答案

您正在循环中使用它:

<div id="light" class="white_content">

因此您将拥有多个具有相同 ID 的元素,这是不允许的。

然后你尝试像这样访问它们:

document.getElementById('light')

这将为您提供它找到的第一个元素,而不是您想要放大的实际元素(除非它是第一个......)。

就我个人而言,我会使用标准灯箱解决方案,将缩略图链接到大图像(而不是 javascript:void(0)),并使用您的 href 属性单击缩略图时使用 JavaScript 设置大图像源的链接。

编辑:帮助您入门的 html 示例:

<?php
while($row = mysql_fetch_array($result))
{
?>
  <a href="<?php echo 'images/'.$row["image"]; ?>" onclick="return showImage(this);">
<?php
  echo '<img alt="gallery" src="images/'.$row["image"].'" class="pic-resize" alt=""></a>';
}
?>
<div id="light"><img src='' alt=''></div>

现在您只需在 javascript 中编写 showImage() 函数即可完成实际工作:

  • 获取被点击链接的href属性;
  • #light中图像的来源设置为该值;
  • 显示#light 元素。

关于php - 显示数据库中存储的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17345803/

相关文章:

php - 创建在线相册的首选方法是什么?

html - 如何使用 HTML/CSS 创建具有相同宽度和不同高度的照片库?

php - Bootstrap 列根据移动 View 上的标题进行总结

php - 如何使用 PHP 将 sql 数据按顺序组织

PHP、Mysql同一个函数查询不同的表

c# - MySQL-DBUpdateException ('Deadlock found when trying to get lock; try restarting transaction')

jquery - Colorbox,如何将下一张和上一张图像显示为缩略图?

javascript - 从表中删除行时如何更改计算

php - 缺少主键 id 的值 Doctrine Symfony2

php - 没有 SELECT GRANT 则 DELETE 不起作用