使用PHP显示MySQL的图像

时间:2012-09-08 16:52:32

标签: php mysql image

我有一个包含大量图片的数据库。我想将所有图像显示在彼此之下。

数据库的结构如下所示:

id – (int10)
name – text
likes – int(3)
url – varchar(16)

在每张图片下方,应显示喜欢的数量,如果我点击图片,我会转到网址。

如果有人能解决这个问题我真的很感激!

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作。请注意,强烈建议不要使用像这样的mysql扩展名,因为它已被弃用。您应该考虑使用PDOMySQLi,但我只是为了简化示例而使用它。

    mysql_connect('address', 'user', 'password') or die(mysql_error());
    mysql_select_db('databaseName') or die(mysql_error());

    $result = mysql_query("SELECT * FROM MyTable");

    if ($result) {
        if (mysql_num_rows($result) > 0) {
            while ($row = mysql_fetch_object($result)) { ?>
                <a href="http://mydomain.com/images/<?php echo htmlentities($row->url . '/' . $row->name); ?>">
                    <img src="<?php echo htmlentities($row->url . '/' . $row->name) ?>" />
                </a>
                <br />
                Likes: <?php echo htmlentities($row->likes); ?>
                <br />
            <?php }
        }
    }

答案 1 :(得分:0)

$db = mysql_connect($IP, $username, $password) or die (mysql_error($db));
mysql_select_db($dbname, $db) or die(mysql_error($db));
$query="SELECT id, likes, url FROM [table name]";
$result=mysql_query($query, $db) or die(mysql_error($db));
$rows=mysql_num_rows($result);
for ($i=0; $i < $rows; $i++) {
echo '<a href="' . mysql_result($result, $i, "url") . '">';
echo '<img src="' . mysql_result($result, $i, "url") . '"></a>';
echo '<br>' . mysql_result($result, $i, "likes") . ' likes';
}

我强烈建议您查看PHP手册。这是非常基本的编码。另请注意,上面的代码不适用于空数据库。 $IP是数据库IP,$username是数据库用户名,$password是数据库密码。另外,我建议您使用MySQLi扩展,因为我使用的扩展名已被弃用。