我实际上有几个问题:我的最终目标是编写一个脚本,该脚本将自动显示我保存在数据库中的所有图像(如果我将新图像添加到我的数据库(图像 URL),每次我刷新页面,我希望这些"new"图像也能立即显示)。
在 MySQL 中保存图像 URL 的正确方法是什么?目前我将输入类型设置为 VARCHAR;图像 URL 可以吗?
此外,目前我正在使用 WAMP 服务器只是为了测试该网站的工作方式;所以我将图像放入 www 文件夹中(与我的 php 脚本位于同一文件夹中),并在数据库表中放入 URL,如下所示: image.png
这是在其中输入图像 URL 的正确方法吗我的数据库?按顺序显示这些图像的最佳方式是什么?以下代码是我到目前为止所拥有的:(图像宽度将占据页面的 70% 左右,因此图像不会彼此相邻;它们将采用列形式。)
<?php $db_host="host"; $db_user="user"; $db_pass="pass"; $db_name="name"; $db_table="table"; mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error()); mysql_select_db($db_name) or die(mysql_error()); $query = mysql_query("SELECT * FROM tablename"); $result = mysql_query($query); $num = mysql_num_rows($result); for($count = 0; $count < $num; $count++) { //output the rows one by one(the actual images, not the URLs) mysql_fetch_row($result); echo("<br/>"); } ?>
我不知道我是否应该在那里使用mysql_fetch_row..
我希望我的图像之间有一些空间;我在想实现这一点的最佳方法是在循环末尾添加一个“br”标签,以便每次显示新图像时,都会在页面末尾添加换行符..是这样吗?最好的方法是什么?
提前致谢!
最佳答案
对于你的第一个问题,是的。对于第二个,如果所有图像都存储在同一目录中,也是可以的。不过,这主要是一个偏好问题。
你的 for 循环应该是这样的:
for($count = 0; $count < $num; $count++) {
$row = mysql_fetch_assoc($result);
echo "<img src='". htmlspecialchars($row["image"]) ."' alt='image' />";
}
br
标签可能是一个坏主意。在 CSS 文件中将图像的 display
属性设置为 block
。网上有很多 CSS 手册。
关于php - 在 MySQL 中保存图像 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7200004/