php图像库
我已经设置了一个新的图像库,其中图像存储在服务器上的/images/文件夹中,相应的详细信息存储在mysql数据库中(title、description、imagesrc) 然而,我试图做的是收回存储在服务器文件夹中的所有图像,而不必在html中列出它们。我已经让php收回了正确的字段并正确地填充了图库,但是当一个新图像被添加到库中或者一个原始图像被更新时,它显然无法在我的站点上完成 我的代码是:php图像库,php,mysql,image,loops,galleria,Php,Mysql,Image,Loops,Galleria,我已经设置了一个新的图像库,其中图像存储在服务器上的/images/文件夹中,相应的详细信息存储在mysql数据库中(title、description、imagesrc) 然而,我试图做的是收回存储在服务器文件夹中的所有图像,而不必在html中列出它们。我已经让php收回了正确的字段并正确地填充了图库,但是当一个新图像被添加到库中或者一个原始图像被更新时,它显然无法在我的站点上完成 我的代码是: <div id="galleria"><!-- Begin Galleria -
<div id="galleria"><!-- Begin Galleria -->
<div>
<a href="<?php mysql_select_db("dbname", $con);
$result = mysql_query("SELECT * FROM images WHERE id='1'");
while($row = mysql_fetch_array($result))
{
echo $row['imagesrc'];
}
mysql_close($con);
?>">
<img src="<?php mysql_select_db("dbname", $con);
$result = mysql_query("SELECT * FROM images WHERE id='1'");
while($row = mysql_fetch_array($result))
{
echo $row['imagesrc'];
}
mysql_close($con);
?>" alt='' title='' />
</a>
<strong><?php mysql_select_db("dbname", $con);
$result = mysql_query("SELECT * FROM images WHERE id='1'");
while($row = mysql_fetch_array($result))
{
echo $row['title'];
}
mysql_close($con);
?></strong>
<span><?php mysql_select_db("dbname", $con);
$result = mysql_query("SELECT * FROM images WHERE id='1'");
while($row = mysql_fetch_array($result))
{
echo $row['desc'];
}
mysql_close($con);
?></span>
</div>
<div>
<a href="<?php mysql_select_db("dbname", $con);
$result = mysql_query("SELECT * FROM images WHERE id='1'");
while($row = mysql_fetch_array($result))
{
echo $row['imagesrc'];
}
mysql_close($con);
?>">
<img src="<?php mysql_select_db("dbname", $con);
$result = mysql_query("SELECT * FROM images WHERE id='1'");
while($row = mysql_fetch_array($result))
{
echo $row['imagesrc'];
}
mysql_close($con);
?>" alt='' title='' />
</a>
<strong><?php mysql_select_db("dbname", $con);
$result = mysql_query("SELECT * FROM images WHERE id='1'");
while($row = mysql_fetch_array($result))
{
echo $row['title'];
}
mysql_close($con);
?></strong>
<span><?php mysql_select_db("dbname", $con);
$result = mysql_query("SELECT * FROM images WHERE id='1'");
while($row = mysql_fetch_array($result))
{
echo $row['desc'];
}
mysql_close($con);
?></span>
</div>
<div>
您不需要一次又一次地执行查询,只需执行一次即可。当收到thr记录时,使用if(如果需要)循环根据您的要求放置div。我向您展示了我最近使用的代码示例
<?php
$conn=mysqli_connect(DBHOST,DBUSER,"",DB);
$query1="select dev_image,dev_name from developers";
$result=mysqli_query($conn,$query1);
$cnt=0;
while($row=mysqli_fetch_array($result))
//$dev_name=row['dev_name'];
{
$dev_image=$row['dev_image'];
$dev_name=$row['dev_name'];
if($cnt%4==0) {
echo "<div class=\"project_main\">";
}
if($cnt%4==0) {
echo "<div class=\"project_img_main\">";
echo "<div class=\"project_img1\">";
echo "<img src=\"$dev_image\" alt=\"\" title=\"Project-1\" border=\"none\" />";
echo "</div>";
echo "<div class=\"project_img_name\">";
echo "<p align=\"center\" class=\"txt1\">".$dev_name."</p>";
echo "</div>";
echo "</div>";
} else {
echo "<div class=\"project_img_main1\">";
echo "<div class=\"project_img1\">";
echo "<img src=\"$dev_image\" alt=\"\" title=\"Project-1\" border=\"none\" />";
echo "</div>";
echo "<div class=\"project_img_name\">";
echo "<p align=\"center\" class=\"txt1\">".$dev_name."</p>";
echo "</div>";
echo "</div>";
}
$cnt++;
if($cnt%4==0) {
echo "</div>";
}
}
?>
我希望它会对你有用..只是做了相应的
谢谢
Rajesh您正在通过MySQL_close()关闭MySQL连接,因此这将不起作用。要执行的步骤包括:
mysql_connect
mysql_select_db
mysql_query (or multiple queries, if placement matters)
mysql_close
对于这样一个简单的查询,您可以迭代整个表,并在一个while循环中填充您的库,如下所示:
<?php
mysql_select_db("dbname", $con);
$result = mysql_query("SELECT * FROM images");
while($row = mysql_fetch_array($result))
{
echo '<a href="' . $row['imagesrc'] . '">' . $row['title'] . '</a>';
}
mysql_close($con);
?>
其中打印:
<a href="imagesrc1">Imagetitle1</a>
<a href="imagesrc2">Imagetitle2</a>
<a href="imagesrc3">Imagetitle3</a>
...
...
您可以在while循环中混合所需的任何div、span和其他字段(如$row['desc']),例如
while($row = mysql_fetch_array($result))
{
echo '<div>';
echo '<a href="' . $row['imagesrc'] . '">';
echo '<img src="' . $row['imagesrc'] . '" />';
echo '</a>';
echo '<strong>' . $row['title'] . '</strong>';
echo '<span>' . $row['desc'] . '</span>';
echo '</div>';
}
while($row=mysql\u fetch\u array($result))
{
回声';
回声';
回显“”.$row[“title]”。;
回显'.$row['desc'].';
回声';
}
将打印:
<div>
<a href="imagesrc1"><img src="imagesrc1" /></a>
<strong>imagetitle1</strong>
<span>desc1</span>
</div>
<div>
<a href="imagesrc2"><img src="imagesrc2" /></a>
<strong>imagetitle2</strong>
<span>desc2</span>
</div>
<div>
<a href="imagesrc3"><img src="imagesrc3" /></a>
<strong>imagetitle3</strong>
<span>desc3</span>
</div>
图像标题1
描述1
图像标题2
描述2
图像标题3
描述3
希望这有帮助 -那里有一张Arian Acosta的照片。但请记住,通过这种方式,您不会得到alt属性的描述或有意义的字符串。我认为db设置更好,您只需要确保文件夹中存在所有图像。但我认为这是值得一试的。爱这个地方——这么多专家愿意帮忙!我还有一个问题-是否可以在这个循环中调整图像的大小。基本上,它们都有不同的宽度,但我想使高度恒定在450px,而不考虑原始尺寸。。。。。。再次感谢您的帮助!谢谢